我已经阅读并搜索了所有堆栈溢出。。我也找到了JPype class not found,但它没有帮助我,虽然它被解决了!我也有同样的问题!我使用的是Mac,python2.7.6
我的python代码和A.java都在桌面上。但我一直收到这个错误:
Traceback (most recent call last): File "/Users/jeren/Desktop/aa.py", line 13, in A = jpype.JClass("A") File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/jpype/_jclass.py", line 54, in JClass raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name) java.lang.ExceptionPyRaisable: java.lang.Exception: Class A not found
在aa.py公司: 导入jpype
import os
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=/Users/jeren/Desktop/")
A = jpype.JClass("A")
a = A()
jpype.shutdownJVM()
A.java语言:
^{pr2}$我的mac、java和python都是64位的!问题出在哪里?在
下面是一些关于为jpype指定类路径的进一步节点。在
A.检查JDK路径
我安装了几个版本的javajdk,但是getDefaultJVMPath没有产生预期的路径。我需要替换
对于JDK的路径,它实际上被用来编译代码,例如
^{pr2}$B.相对路径 可以使用相对路径。例如,如果我的python文件位于包文件夹“pkg”中,而java类文件位于“bin”文件夹的子文件夹“foo”中:
父文件夹
垃圾桶/食品/食品类在
在jpype.startJVM(jvmPath,'-Djava.class.path=../bin“) 链接=jpype.JClass类('福。福')
在本例中,java应用程序的工作目录将是pkg文件夹。换句话说,在Foo类的main方法中,您可能需要使用“../”来访问parentFolder。在
C.-cp选项不起作用 我尝试使用-cp选项而不是-Djava.class.path,我会觉得更坚定。但是,以下代码不起作用:
D.需要单独包括罐子
我试图包含一个包含几个jar文件的文件夹。在
父文件夹
以下代码不起作用:
每个jar文件需要单独包含,例如:
(来自JPype (Python): importing folder of jar's的解决方案)
一切都很好,只需要在a级开头添加一个“public”:
相关问题 更多 >
编程相关推荐