4

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

提前致谢。问候, 乌克兰

4

5 回答 5

4

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

于 2009-07-29T17:06:23.717 回答
3

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

于 2009-07-29T16:56:56.890 回答
3

对于 Perl,使用Inline::Java。集成代码有多种选择;您可以调用单独的进程,也可以使用嵌入式解释器

于 2009-07-29T23:09:23.797 回答
1

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

于 2009-07-29T17:05:16.073 回答
0

我不久前使用了一个叫做 Jython 的东西,它允许您从 Java 执行 Python 代码。这有点古怪,但我让它做我需要的。

http://www.jython.org

于 2009-07-29T16:56:53.520 回答