Java封装 Perl/Python代码

4 投票
5 回答
2757 浏览
提问于 2025-04-15 13:15

我需要在一个只支持Java的服务器上部署一些网络服务,但其中有些是用perl或python写的。我想知道是否可以开发一个Java的包装器,来调用用perl或python写的特定代码。也就是说,我希望所有的网络服务都是用Java写的,但其中有些会调用其他语言写的代码。

提前谢谢你们!

祝好,

乌克兰

5 个回答

3

对于Python的部分,你可以使用Jython,这样就可以直接在你的Java虚拟机中运行Python代码。它还会和你的Java代码完美结合,算是个额外的好处。

3

对于Perl语言,可以使用Inline::Java这个工具。它提供了几种将代码整合在一起的方法;你可以调用一个单独的进程,或者使用嵌入式解释器

4

这主要取决于你的需求。如果你可以使用Jython来运行Python代码(不过它并不是总能完全兼容),那么Jython可能是最好的选择。否则,你就需要用Java的Process Builder来直接调用解释器,并通过它们的输出流返回结果。这种方法速度可能不快(不过,Jython相对于普通的Java代码也不算快),但它是一个非常灵活的解决方案。

撰写回答