2009-07-29 19 views
3

我必須在只支持Java的服務器上部署一些Web服務,但其中一些將使用Perl或Python完成。我想知道是否有可能開發一個Java包裝來調用用perl或python編寫的特定代碼。所以,我想要使用Java中的所有Web服務,但其中一些會使用其他語言調用一些代碼。Java包裝到Perl/Python代碼

在此先感謝。 Regards, Ukrania

+0

從perl/python腳本生成一個.class文件也是一個解決方案,因爲我可以僅使用.class文件部署Web服務。 – 2009-07-29 17:32:30

回答

3

這很大程度上取決於您的需求。如果Jython是Python代碼的選項(它並不總是100%兼容),那麼它可能是最好的選擇。否則,您將需要使用Java的Process Builder直接調用解析器並將結果返回到其輸出流。這不會很快(但是Jython的速度並不快,相對於普通的Java代碼),但它是一個非常靈活的解決方案。

+0

我必須完全支持python,我只是想以最簡單的方式調用或使用其他程序員製作的代碼。最後,我必須使用Web服務發佈這些功能,這些功能需要在java上進行,因爲WSO2僅支持Java Web服務(我使用WSO2來保證Web服務的安全)。 – 2009-07-29 17:44:34

0

我曾經使用過一段時間稱爲Jython,它允許您從Java執行Python代碼。這有點古怪,但我得到它做我所需要的。

http://www.jython.org

3

對於它的Python的一部分,你可以使用Jython來從您的Java虛擬機上運行Python代碼。它將與您的Java代碼完全集成,作爲獎勵。

+0

我將準備好一個Python程序到最終版本,使用Jython它會調用已寫入的函數或我需要重寫代碼? – 2009-07-29 17:30:37

+0

是的,你應該可以調用現有的Python函數。 Jython幾乎可以運行任何Python代碼,但並不是所有的Python標準模塊都可以在Jython中使用。我相信如果這些模塊是用C編寫的話,這很有可能。 – 2009-07-29 20:13:18