我必须在仅支持Java的服务器上部署一些Web服务,但其中一些将使用perl或python完成。我想知道是否可以开发一个Java包装器来调用用perl或python编写的特定代码。所以,我希望用Java编写所有Web服务,但是其中一些将使用其他语言调用一些代码。

提前致谢。 问候, Ukrania

有帮助吗?

解决方案

这在很大程度上取决于您的需求。如果Jython是Python代码的一个选项(它并不总是100%兼容),那么它可能是最好的选择。否则,您将需要使用Java的Process Builder直接调用解释器并在其输出流上返回结果。这不会很快(但是,相对于常规Java代码,Jython也不是那么快),但它是一个非常灵活的解决方案。

其他提示

对于Python部分,您可以使用 Jython 直接从Java虚拟机运行Python代码。它将与您的Java代码完全集成,作为奖励。

对于Perl,请使用 Inline :: Java 。集成代码有几种选择;您可以致电单独的流程,也可以使用< a href =“http://search.cpan.org/dist/Inline-Java/Java/PerlInterpreter/PerlInterpreter.pod”rel =“nofollow noreferrer”>嵌入式翻译。

对于Python,您可以使用 Java Scripting API
遗憾的是,Perl的实现仍然缺失。

我曾经使用过一段名为Jython的东西,它允许你从Java执行Python代码。这有点古怪,但我得到它做我需要的。

http://www.jython.org

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top