我创建了一个调用其他java类的java类,然后打印到屏幕上。我正在尝试构建一个调用我的java类的python接口,在其中运行一个方法,然后终止。我无法访问我的方法。我使用了“import directory.directory2.myClass.java(和.jar和.class)”这一行,我从原始代码和.class文件中创建了.jar文件。这些似乎都没有。我设置了sys.path.append指向java文件所在的目录。我是否需要将我的java类文件转换为python模块?如果是,我该怎么做?
答案 0 :(得分:2)
Jython支持加载Java类,就像它们是Python模块一样。它在sys.path
中的目录中搜索.class
个文件。
首先,确保您的Java类已经使用javac
进行编译。
然后,执行sys.path.append(d)
,其中d
是包含该包的目录。因此,如果您的班级在顶部显示package foo.bar;
,并且位于mydir/foo/bar/myclass.java
,那么您必须mydir
中的sys.path
(不其中一个mydir
)的子目录。
最后,通过类似from foo.bar import myclass
的内容导入课程。两者之间的名称必须在Python和Java之间匹配!你将“从[package] import [class]”开始。
答案 1 :(得分:0)
你应该这样做:
from directory.directory2 import myClass
myObject = myClass()
myObject.myMethod()