从Python调用Java

1 投票
3 回答
924 浏览
提问于 2025-04-15 22:17

我有一个Java应用程序,它启动的时间很长(所以我不能像使用命令行那样直接操作),我需要从Python传递一些文本,并接收Java方法的输出。请问有没有办法让这个Java应用一直运行,同时在Python脚本运行的时候使用这个应用里的方法?

3 个回答

0

Py4J是一种让你可以在Python脚本中调用Java代码的方法。你可以在这里找到这个项目的网站:http://py4j.sourceforge.net/

0

我之前用过JPype,效果非常好。

JPype 是一个让Python程序能够完全使用Java类库的工具。它的实现方式不是像Jython/JPython那样重新实现Python,而是通过在两个虚拟机之间进行底层的接口连接。

如果你的Java应用正在运行,你也可以考虑使用xml-rpc,这个也很好用。

2

我觉得用Python并没有比命令行(至少是*nix命令行)更有帮助,但基本的想法是通过一个叫做“套接字”的东西来进行通信。简单来说,就是Java应用程序需要用一些代码来打开一个套接字,并等待Python脚本来联系它。如果你对Python最熟悉,可以考虑用Jython来实现这个包装器。

撰写回答