如何导入我在jython中创建的java类并调用方法

时间:2012-01-27 18:52:39

标签: java python jython

我创建了一个调用其他java类的java类,然后打印到屏幕上。我正在尝试构建一个调用我的java类的python接口,在其中运行一个方法,然后终止。我无法访问我的方法。我使用了“import directory.directory2.myClass.java(和.jar和.class)”这一行,我从原始代码和.class文件中创建了.jar文件。这些似乎都没有。我设置了sys.path.append指向java文件所在的目录。我是否需要将我的java类文件转换为python模块?如果是,我该怎么做?

2 个答案:

答案 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()