Java 错误:无法在python中找到或加载主类
我正在尝试用Python运行此命令:Java 错误:无法在python中找到或加载主类,java,python,Java,Python,我正在尝试用Python运行此命令: java JSHOP2.InternalDomain logistics 当我在cmd中运行它时,它工作得很好 我是用Python写的: args = ['java', r"-classpath", r".;./JSHOP2.jar;./antlr.jar", r"JSHOP2.InternalDomain", thisDir+"/logistics" ] p
java JSHOP2.InternalDomain logistics
当我在cmd中运行它时,它工作得很好
我是用Python写的:
args = ['java',
r"-classpath",
r".;./JSHOP2.jar;./antlr.jar",
r"JSHOP2.InternalDomain",
thisDir+"/logistics"
]
proc = subprocess.Popen(args, stdout=subprocess.PIPE)
proc.communicate()
我在当前目录中有jar文件
但我有一个错误:
错误:找不到或加载主类JSHOP2.InternalDomain
有人知道问题出在哪里吗?它找不到jar文件吗?在运行Python代码时,不能指望当前工作目录总是相同的。使用
cwd
参数显式设置工作目录:
proc = subprocess.Popen(args, stdout=subprocess.PIPE,
cwd='/directory/containing/jarfiles')
或者,在-classpath
命令行参数中使用绝对路径。如果该路径是thisDir,则使用该路径:
proc = subprocess.Popen(args, stdout=subprocess.PIPE,
cwd=thisDir)
您可能想要设置进程的当前工作目录(将
cwd
关键字参数设置为Popen()
)。我应该怎么做?将cwd=
关键字参数设置为希望
在类路径中表示的目录。或者在类路径中使用绝对路径。我想要的目录是当前路径,因为我在当前目录中有jar文件。当我运行这个脚本时,它可以正常工作,但是当另一个python函数调用这个脚本时,它会给出错误。thisDir=os.path.dirname(os.path.realpath(file)),这个目录包含jar文件。我也将此路径添加到类路径。还是不行