Jython: incluye una clase java personalizada [oanda]
Frecuentes
Visto 838 equipos
1
>>> import sys
>>> sys.path.append("/usr/local/oanda_fxtrade.jar") # add the jar to your path
>>>
>>> import com.oanda.fxtrade.api.test.Example1 as main1
>>> import com.oanda.fxtrade.api.test.Example2 as cancel
main1("JPY",9,'-1')
TypeError: main1("JPY",9,'-1'): expected 0 args; got 3
Esto parece no ser un error, pero realmente necesito algunos argumentos
cancelar()
Subproceso[Subproceso-0,5,principal]
Dentro de la clase java
public final class Example1 extends Thread {
private Example1() {
super();
}
public static void main(String[] args) throws Exception {
FXClient fxclient = API.createFXGame();
String username = "foo";
String password = "foo";
String sel=args[0];
String str1=args[1];
String str2=args[2];
principal1.principal("JPY 9 -1")
TypeError: main (): el primer argumento no se puede forzar a String []
Ok, creo que pasé al siguiente nivel.
1 Respuestas
1
Después
import com.oanda.fxtrade.api.test.Example1 as main1
main1 es la clase. En Java, la ejecución de la clase se ejecutará como principal, pero eso no significa que pueda pasar argumentos a la clase.
Tratar:
main1.main(["JPY","9","-1"])
EDIT: Había dos problemas separados aquí.
Por el error posterior Could not initialize class com.oanda.fxtrade.api.API
... parece que deberías revisar esta pregunta: ¿Por qué Jython se niega a encontrar mi paquete de Java?
llamar a sys.path.append para agregar el jar no permite que el escáner de paquetes funcione, lo que sucede en el momento de la carga. Debería intentar importar los módulos/clases requeridos manualmente o quizás agregar el jar al RUTA DE CLASE antes de invocar jython.
a partir de aquí, creo que la respuesta de jython está y se convierte en un com.oanda.fxtrade.api la pregunta probablemente esté fuera del alcance de SO.
contestado el 23 de mayo de 17 a las 12:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java jython or haz tu propia pregunta.
main1()
intenta crear una instancia de la clase Example1, no se ejecutarámain()
. - jfsUps, esto no se está ejecutando desde la línea de comandos. Debería haber probado si se necesita
main1().main("args","go","here")
pero no tengo los frascos de oanda aquí. - Phil Cooperarray=[ 0 for w in range(3)]; array=['JPY','9','-1']; main1.main(array)
- Aarón LivniTypeError: main(): 1st arg no puede ser forzado a String[] Ok, creo que pasé al siguiente nivel - Aarón Livni