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