0

帮助!

我正在尝试使用 Jpype 创建一个自定义类。我在 Mac 上运行 64 位 python 和 64 位 jdk。这是我得到的错误:

`jpype._jexception.ExceptionPyRaisable:java.lang.Exception:找不到A类

`
对于这个问题,我已经查看了 StackOverflow 上的其他问题。

下面是 .py 代码。注释行显示了我尝试过的事情:

#jpype.startJVM("/System/Library/Frameworks/JavaVM.framework/JavaVM", "-ea", "-Djava.class.path=%s"%os.path.abspath("/Users/hujen/Desktop/currResearch/pythonScript/class/"))
jpype.startJVM("/System/Library/Frameworks/JavaVM.framework/JavaVM","-ea", "-Djava.class.path=C:/Users/hujen/Desktop/currResearch/pythonScript/class/")
#jpype.startJVM("/System/Library/Frameworks/JavaVM.framework/JavaVM")
#jpype.startJVM(jpype.getDefaultJVMPath())
jpype.java.lang.System.out.println("Hello World!")
jpype.java.lang.System.out.println("This program will implement the original parse python code in a jvm")
jpype.java.lang.System.out.println(jpype.JString("H"))
util = jpype.JPackage("java.util")
al = util.ArrayList()
al.add(1)
al.add(2)
print al.size()


A = jpype.JClass("A")
a = A()

print a.sayHi()

print A.add(3,4)

A.main(["first"])
jpype.shutdownJVM()

这是类文件。我将它保存为 A.java。我运行它使用

javac -g A.java

获得 .class 扩展名。

 public class A
    {
        public A()
        {
            super();
        }
        public String sayHi()
        {
            return("Hello");
        }

        public static void main(String[] argv)
        {
            System.out.println ("Hello "+argv[0]);
        }

        public static int add(int a, int b)
        {
            return(a+b);
        }
    }

谢谢!

4

0 回答 0