0

コマンドラインを使用して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 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」は「semanticvectors-3.4.jar」にあります。

あなたが私に与えることができるどんな助けも本当に感謝しています.

ありがとう!

4

1 に答える 1

0

@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"])
于 2012-06-26T10:16:46.537 に答える