jEdit+JythonInterpreter:如何导入java类?
我正在用 jEdit 这个软件运行 JythonInterprete,并且我有一个叫 JavaTest.jar 的文件。
这个 JavaTest 文件里有一个叫 SampleJavaClass 的类,里面有一个方法叫 printerCount。
我想从我的 .py 文件里这样做:
from javatest import SampleJavaClass
class SampleClass(SampleJavaClass):
def pymain(self):
SampleJavaClass.printerCount(4)
Java 代码:
package javatest;
public class SampleJavaClass {
public static void printerCount(int i){
for(int j=0; j< i; j++){
System.out.println("hello world");
}
}
(etc...)
在 JythonInterpreter 里,我已经尝试过点击“编辑 Jython 路径”,然后添加这个 .jar 文件,再重新运行解释器,但它还是给我报错 ImportError: cannot import name SampleJavaClass
1 个回答
2
你需要把 JavaTest.jar 加到 jEdit 使用的 Java 类路径中。Jython 路径是用来告诉 Jython Python 模块在哪里,而 Java 类路径是用来告诉 Java 虚拟机(JVM)Java 的 jar 文件在哪里。为了在 Jython 中访问 javatest.SampleJavaClass,JVM 必须先能找到它。这样它就可以把这个类提供给 Jython 解释器,你的代码就可以运行了。
我对如何在 jEdit 中设置 JVM 类路径不是很熟悉,但我找到了一页 维基页面,可能会有答案。