帮助!
我正在尝试使用 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);
}
}
谢谢!