>>> 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
这似乎没有错误 - 但实际上我需要一些args
取消()
螺纹[线程0,5,主]
内部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];
main1.main(“JPY 9 -1”)
TypeError:main():第一个arg无法强制转换为String []
好的,我认为我进入了一个新的水平
答案 0 :(得分:1)
之后
import com.oanda.fxtrade.api.test.Example1 as main1
main1是班级。在java中执行该类将运行main,但这并不意味着你可以将args传递给类。
尝试:
main1.main(["JPY","9","-1"])
修改强> 这里有两个不同的问题。
对于后续错误Could not initialize class com.oanda.fxtrade.api.API
...您似乎应该查看此问题:Why does Jython refuse to find my Java package?
调用sys.path.append来添加jar不允许包扫描程序在加载时发生操作。您应该尝试手动导入所需的模块/类,或者在调用jython之前将jar添加到 CLASSPATH 。
从这里开始我认为jython答案已经存在并且它变成了一个 com.oanda.fxtrade.api 问题,可能在SO范围之外。