[英]import module error: calling python script using jython in a java program
[英]calling a java program in a python script : Classpath Error
我正在运行一个python脚本,它实质上是关于信息检索的。 由于一次执行脚本需要很长时间,因此我想运行并行脚本。 我在脚本中使用以下代码调用Java程序:
x='java -cp "lib/*:esalib.jar" clldsystem.esa.ESAAnalyzer %s %s' % (word1, word2)
args=shlex.split(x)
print args
p=subprocess.Popen(args)
p.wait()
工作正常。 为了不混淆输入文件和临时结果文件,我在包含脚本的文件夹内创建了一个新文件夹。 我现在正尝试从新文件夹中运行脚本的副本。 我将代码更新为:
x='java -cp "../lib/*:esalib.jar" ../clldsystem.esa.ESAAnalyzer %s %s' % (word1, word2)
args=shlex.split(x)
print args
p=subprocess.Popen(args)
p.wait()
但这给出了一个错误:
Error: Could not find or load main class ...clldsystem.esa.ESAAnalyzer
我该如何解决?
问题是您将..
点放在错误的位置。
clldsystem.esa.ESAAnalyzer
是Java类,其中包含将由java
执行的main()
方法。 java
试图通过查找从-cp
在类路径中指定的jar中加载的类来查找clldsystem.esa.ESAAnalyzer
。
所以尝试更换
java -cp "../lib/*:esalib.jar" ../clldsystem.esa.ESAAnalyzer
具有以下内容:
java -cp "../lib/*:../esalib.jar" clldsystem.esa.ESAAnalyzer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.