有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用相对路径运行Java主类?(Python)

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

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

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

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

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

有什么想法吗


共 (2) 个答案

  1. # 1 楼答案

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

    java -classpath ../../bin MyJavaClass
    

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

    java -classpath ../../bin my.package.MyJavaClass
    
  2. # 2 楼答案

    试一试

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

    运行Java时,目录结构意味着包结构,因此需要从正确的目录执行Java(除非使用类路径)