如何在Jython中导入我创建的Java类并调用方法
我写了一个Java类,这个类可以调用其他Java类,然后把结果打印到屏幕上。现在我想做一个Python接口,来调用我的Java类,运行里面的一个方法,然后结束程序。但是我无法访问到这个方法。我试过用“import directory.directory2.myClass.java”(还有.jar和.class文件),我从原始代码和.class文件都生成了.jar文件,但这些都不管用。我还设置了sys.path.append,指向Java文件所在的目录。请问我需要把我的Java类文件转换成Python模块吗?如果需要的话,我该怎么做呢?
2 个回答
0
你应该这样做:
from directory.directory2 import myClass
myObject = myClass()
myObject.myMethod()
4
Jython可以把Java类当成Python模块来加载。它会在sys.path
指定的目录里寻找.class
文件。
首先,确保你的Java类已经用javac
编译过了。
接下来,使用sys.path.append(d)
,这里的d
是包含这个包的目录。如果你的类文件顶部写着package foo.bar;
,并且它的路径是mydir/foo/bar/myclass.java
,那么你需要把mydir
添加到sys.path
中(而不是它的子目录)。
最后,通过类似from foo.bar import myclass
的方式来导入这个类。Python和Java之间的名字必须要一致!你会用“from [包名] import [类名]”的方式来导入。