从Python调用Java:“cannotfind or load class”E

2024-04-19 19:42:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用命令行从python调用java程序。代码如下:

subprocess.check_output(["java", "pitt.search.semanticvectors.CompareTerms", "-queryvectorfile","termvectors.bin","term1","term2"])

我得到以下错误:

^{pr2}$

当我从PyDev(eclipse3.7.2中的版本2.5)运行程序时,就会发生这种情况。但是,如果我从终端运行相同的代码,它就可以工作,并且我可以得到我想要的结果。在

我几乎可以肯定,这个问题与PyDev的某些配置以及它如何处理java类路径有关,即:

/Users/feralvam/Programas/semanticvectors-3.4/semanticvectors-3.4.jar:/Users/feralvam/Programas/lucene-3.5.0/lucene-core-3.5.0.jar:/Users/feralvam/Programas/lucene-3.5.0/contrib/demo/lucene-demo-3.5.0.jar:

全班同学”pitt.search.semanticvectors公司.CompareTerms”位于“semanticvectors-3.4.jar”中。在

如果你能给我任何帮助,我将不胜感激。在

谢谢!在


Tags: 代码程序searchdemojavausersjarlucene
1条回答
网友
1楼 · 发布于 2024-04-19 19:42:08

@eis提出的解决方案奏效了。现在,命令是:

subprocess.check_output(["java", "-classpath", "/Users/feralvam/Programas/semanticvectors-3.4/semanticvectors-3.4.jar:/Users/feralvam/Programas/lucene-3.5.0/lucene-core-3.5.0.jar:/Users/feralvam/Programas/lucene-3.5.0/contrib/demo/lucene-demo-3.5.0.jar:", "pitt.search.semanticvectors.CompareTerms", "-queryvectorfile","/Users/feralvam/termvectors.bin","term1","term2"])

相关问题 更多 >