0

我正在使用 Python 为指定的 Java 类执行 JVM,如下所示:

import subprocess
output = subprocess.check_output("java MyJavaClass")

但是,Java 类与 Python 脚本不在同一目录中,因此这不起作用。它在一个bin目录上两个目录。

所以我希望有可能做如下的事情,但它不起作用:

output = subprocess.check_output("java ../../bin/MyJavaClass")

有任何想法吗?

4

2 回答 2

3

您需要设置类路径,如下所示:

java -classpath ../../bin MyJavaClass

请注意,如果您的课程属于某个包,则必须使用 FQN(全限定名):

java -classpath ../../bin my.package.MyJavaClass
于 2012-05-01T11:57:52.850 回答
1

尝试

output = subprocess.check_output("java MyJavaClass", cwd="../../bin/")

运行Java时,目录结构隐含一个包结构,所以需要从正确的目录执行java(除非使用classpath)。

于 2012-05-01T12:01:52.390 回答