0
我想从python使用命令行调用java程序。代码如下:从Python调用Java:“无法找到或加载类”错误
subprocess.check_output(["java", "pitt.search.semanticvectors.CompareTerms", "-queryvectorfile","termvectors.bin","term1","term2"])
我得到以下错误:
Error: Could not find or load main class pitt.search.semanticvectors.CompareTerms
这发生在我逃离的PyDev(在Eclipse 3.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”。
任何帮助你可以给我会非常感激。
谢谢!
你是如何检查java classpath的?你有没有试过把它作为命令行参数? – eis
'import os;打印os.environ ['classpath']'显示命令行类路径的任何区别? – User
@ user1320237我做了你的建议,并得到以下结果:KeyError:'classpath' – feralvam