我找到了一些关于如何将用户构建的 .class 和 .jar 文件导入 JPype 的说明,但我似乎在让任何工作都正常工作时遇到了很多麻烦。
什么有效:我可以导入标准的 java 东西并打印 HELLO WORLD 等。
我尝试过的一些方法:
我尝试将-Djava.class.path
包含相关类文件的 jar 的路径添加到包含(几个文件夹下)相关 .class 文件以及“-Djava.ext.dirs”的目录结构中。我已经重新编译并重新安装了不同的 JVM 位置。我试图实例化的类是外部的、公共的,并且有一个公共构造函数。
我在 OSX 10.6 上使用 Python 2.6.1。
我当前的测试文件: from jpype import *
startJVM(getDefaultJVMPath(), '-Djava.class.path=/Users/gestalt/Documents/msmexplorer_git/msmexplorer/MSMExplorer/build/classes')
java.lang.System.out.println("hello world")
msmexplorer = JPackage('org.joofee.meh.msmexplorer')
T = msmexplorer.MSMExplorer()
shutdownJVM()
如果我使用 JClass,我总是会从 JPype 获得 ClassNotFound 异常;如果我使用 JPackage,我会收到 Package not callable 错误。基本上,JPype 找不到我的东西。
非常感谢!
编辑(可能有助于调试的东西......):有没有一种简单的方法来打印哪些第三方 java 类可用/导入?