1. ホーム
  2. java

[解決済み] PythonからJavaを呼び出す

2022-06-03 03:20:27

質問

Pythonからjavaを呼び出すのに一番良い方法は何でしょうか? (jythonとRPCは私にとっての選択肢ではありません)。

JCCは聞いたことがあります。 http://pypi.python.org/pypi/JCC/1.9 C++/PythonからJavaを呼び出すためのC++コードジェネレータです。 しかし、これはすべての可能な呼び出しをコンパイルする必要があります。

JPypeについて聞いたことがあります。 http://jpype.sourceforge.net/ のチュートリアルがあります。 http://www.slideshare.net/onyame/mixing-python-and-java

import jpype 
jpype.startJVM(path to jvm.dll, "-ea") 
javaPackage = jpype.JPackage("JavaPackageName") 
javaClass = javaPackage.JavaClassName 
javaObject = javaClass() 
javaObject.JavaMethodName() 
jpype.shutdownJVM() 

これは私が必要とするもののように見えます。 しかし、最後のリリースは2009年1月で、JPypeのコンパイルに失敗している人を見かけます。

JPypeは死んだプロジェクトなのでしょうか?

他の選択肢はないのですか?

どのように解決するのですか?

この問題についての私のまとめはこちら:PythonからJavaを呼び出す5つの方法

http://baojie.org/blog/2014/06/16/call-java-from-python/ ( キャッシュ )

短い答えです。Jpypeはかなりうまく機能し、多くのプロジェクトで実証されています(python-boilerpipeなど)が、PyjniusはJPypeよりも高速でシンプルです。

私はPyjnius/Jnius、JCC、javabridge、JpypeとPy4jを試しました。

Py4jはゲートウェイを起動する必要があり、もう一段もろさを増して、ちょっと使いにくいです。