2010-05-03 77 views
1

我有一個需要很長時間才能初始化的Java應用程序(所以我不能使用類似於界面的命令行),我需要傳遞文本並從Python接收Java方法的輸出。是否可以加載Java應用程序,讓Python腳本一直運行並使用該應用程序中的方法?從Python調用Java

+1

如果您正在運行Jython,那麼對於Jython來說,很容易得到 – 2010-05-03 15:48:43

+0

+1。在Jython解釋器中使用Java是無縫的。 – gpampara 2010-05-03 16:34:39

回答

2

我不認爲Python的使用對命令行(至少不是* nix命令行)有所幫助,但基本思想是通過套接字或類似的機制進行通信。這意味着Java應用程序將不得不被包裝在一些打開套接字的代碼中,並等待python腳本與其聯繫。如果你對python最爲滿意,你可以在Jython中實現這個包裝器。

0

我用JPype來做類似的事情,它工作得很好。

JPype是努力允許python程序完全訪問java類庫。這不是像Jython/JPython那樣通過重新實現Python來實現的,而是通過在兩臺虛擬機中的本地級接口來實現的。

如果Java應用程序正在運行,您還應該考慮xml-rpc,因爲它也可以很好地工作。