我希望能够调用某些已包含在正在运行的Java jar中的方法(这可以保证它将运行)。我找到了像Jython这样的东西,但这些东西似乎只能访问Java的本地类等。从Python中调用非本机Java代码
6
A
回答
3
“你也可以使用Py4J上有FrontPage和大量的文件的例子,但本质上,你只需要调用Java方法在你的Python代码,如果他们为Python方法:
from py4j.java_gateway import JavaGateway
网关= JavaGatew AY()#连接到JVM
JAVA_OBJECT = gateway.jvm.mypackage.MyClass()#调用构造
other_object = java_object.doThat()
other_object.doThis(1, 'ABC' )
gateway.jvm.java.lang.System.out.println( '世界,你好!')#调用静态方法
与Jython相反,Py4J的一部分运行在Python VM中,因此它始终与最新版本的Python保持“最新”,并且您可以使用在Jython上运行良好的库(例如lxml)。另一部分运行在你想调用的Java虚拟机上。
的通信是通过套接字,而不是JNI做,Py4J都有自己的协议(优化某些情况下,管理内存等)“
+2
来自Py4J网站:“请注意,在执行上面的Python代码之前,必须先启动Java程序。换句话说,Py4J不会启动JVM。“----访问他们的网站:http://py4j.sourceforge.net/index.html – tabchas
相关问题
- 1. 从本机代码调用Java代码?
- 2. 从python调用java代码
- 3. 从java代码中调用ruby脚本
- 4. 从java脚本调用Java代码
- 5. 从Java中调用本机代码的最佳实践
- 6. 从本地代码(非JNI)调用java方法
- 7. 从C#调用本机Delphi代码#
- 8. 从托管代码调用本机API
- 9. 我可以从Java调用本机代码使用android_native_app_glue.c
- 10. 是否可以从本机应用程序调用Java代码?
- 11. 从Java代码调用shell脚本
- 12. 如何调用从本机代码返回char []的Java方法?
- 13. 需要关于jni代码的帮助(从本机代码调用java方法)
- 14. Android:从Java代码调用Python脚本(通过SL4A)
- 15. Codename One:从本机接口调用代码名代码
- 16. 从托管代码性能调用本机代码
- 17. 从Ruby调用python代码
- 18. 从python调用jython代码
- 19. 从Python调用PHP代码
- 20. 从PHP调用java代码
- 21. 从C代码调用Java
- 22. 从C#调用Java代码#
- 23. 从Java调用C#代码?
- 24. 从Java调用Scala代码?
- 25. 从Java脚本调用代码背后的代码
- 26. 使用GDB调试Android本机代码非常慢
- 27. 在java代码中调用python脚本(runtime.exec)
- 28. 如何从Excel中调用python代码?
- 29. 从Python中调用C/C++代码
- 30. 调试本机代码
你怎么指望能够从如这样做Java? –