jEdit+JythonInterpreter:如何导入java类?

4 投票
1 回答
762 浏览
提问于 2025-04-15 23:08

我正在用 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 类路径不是很熟悉,但我找到了一页 维基页面,可能会有答案。

撰写回答