2013-07-04 45 views
2

我有一個可運行的java jar文件,我需要以某種方式運行(傳遞參數,獲取輸出)從我正在工作的另一個java類。我怎麼做?我是否以某種方式將其作爲包導入,並在運行時調用它?我可以從中調用「main」方法,還是隻用「exec」運行它?感謝您的回答。如何在另一個類中使用runnable jar?

回答

2

只需將其添加到您的CLASSPATH並調用main()方法或其提供的任何其他公共方法(並將其記錄下來)。除了清單中的條目之外,「正常」和「可運行」jar文件之間沒有區別。

您可能需要考慮的一個細微的細節是可運行jar文件通常是獨立的 - 也就是說,它們包含所有必需的類,包括來自第三方庫的類。如果您在項目中使用相同的第三方庫,請確保沒有衝突,例如通過從您的項目中刪除單獨的第三方jar文件。

有關更多信息,請參閱Lesson: Packaging Programs in JAR Files

+0

因此,我應該將它作爲Java Build Path中的庫添加,然後導入它? – Caballero

+0

是的 - 在Eclipse中,將其添加到構建路徑中,就像處理其他jar文件一樣,然後在代碼中導入必要的軟件包。 –

0

將您的代碼導入到您的代碼中,如果您需要的東西,您不能從命令行exec解決方案實現。請注意,如果您嘗試從jar文件本身使用某些方法,並且稍後更改,則可能會出現問題。

考慮Bridge模式,把一些抽象層放在jar文件和你的代碼之間,如果你不確定,那你使用公共API。

如果jar文件是具有穩定API的庫,那麼在項目中使用它時可以更加自信。

此外,導入jar文件並使用它的方法比解析過程輸出更快。

+0

我有一個jar文件的來源,它不會被更改。所以要清楚:我使用「import com.something.something;」導入jar,然後我以某種方式調用它的主要方法? – Caballero

+0

@Caballero是的。 'main',或者,如果你想要的話,另一種更具體的方法。 – Seagull

0

您可以將它導入到您的項目中,然後從您的應用程序中調用該jar中公開的方法。

相關問題