Jython:包含自定义java类[oanda]

时间:2012-07-03 23:17:59

标签: java jython

  >>> 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 []

好的,我认为我进入了一个新的水平

1 个答案:

答案 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范围之外。