-cp 选项在 JPype 中不起作用吗?
Is -cp option not working in JPype?
我正在使用带有 Python 2.7 的 jpype(来自加利福尼亚大学的 jpype 发行版),我正在尝试使用来自 jar 文件的 Java class。
如果我用
启动 JVM,它工作正常
startJVM(getDefaultJVMPath(), "-ea", "-Djava.class.path=D:/jmf.jar")
但是,如果我使用
startJVM(getDefaultJVMPath(), "-ea", "-cp", "D:/jmf.jar")
或
startJVM(getDefaultJVMPath(), "-ea", "-cp D:/jmf.jar")
未找到该 jar 中的 classes...我还尝试将 class 路径设置为
set CLASSPATH=".;D:\jmf.jar"
这两个都没用。
此外,使用包含其他罐子的罐子似乎不起作用。这是我的发行版的问题还是 JPype 的普遍问题?
JPype 不直接调用 java 二进制文件。它使用 jni 库。可能 -cp 只是 java 二进制文件的一个选项。同样的情况可能适用于 CLASSPATH 环境。
如果您想在类路径中使用多个 jar 文件或目录,您可以使用 -Djava.class.path
并将元素与系统的路径分隔符连接起来。您可以为此目的使用 os.path.pathsep.join
。
我正在使用带有 Python 2.7 的 jpype(来自加利福尼亚大学的 jpype 发行版),我正在尝试使用来自 jar 文件的 Java class。
如果我用
启动 JVM,它工作正常startJVM(getDefaultJVMPath(), "-ea", "-Djava.class.path=D:/jmf.jar")
但是,如果我使用
startJVM(getDefaultJVMPath(), "-ea", "-cp", "D:/jmf.jar")
或
startJVM(getDefaultJVMPath(), "-ea", "-cp D:/jmf.jar")
未找到该 jar 中的 classes...我还尝试将 class 路径设置为
set CLASSPATH=".;D:\jmf.jar"
这两个都没用。
此外,使用包含其他罐子的罐子似乎不起作用。这是我的发行版的问题还是 JPype 的普遍问题?
JPype 不直接调用 java 二进制文件。它使用 jni 库。可能 -cp 只是 java 二进制文件的一个选项。同样的情况可能适用于 CLASSPATH 环境。
如果您想在类路径中使用多个 jar 文件或目录,您可以使用 -Djava.class.path
并将元素与系统的路径分隔符连接起来。您可以为此目的使用 os.path.pathsep.join
。