从 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 是一个死项目吗?
还有其他选择吗?
原文由 David Portabella 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是我对这个问题的总结:从 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 有点难用,因为你需要启动一个网关,增加了另一层脆弱性。