2009-09-05 136 views
2

我已經寫了一個java程序,它實際上可以作爲gui運行到現有的命令行程序中。 所以在基本的所有我的程序是Runtime.getRuntime().exec("myprogram parameter");。所以我通過使用Eclipse IDE將我的java源文件導出爲可執行文件的jar文件,並且它工作的很好,但是我確實需要將此myprogram.exe包含到生成的jar文件的目錄中才能工作。包括一個exe文件到jar

現在我正在尋找一種方法將myprogram.exe包含在jar文件中,這樣我就可以將它捆綁爲一個文件,使用Eclipse的方法將是首選。

回答

8

你可以簡單地把它作爲一個額外的資源(如.css,.properties等)。

當你的Java程序運行時,提取.exe使用Class.getResourceAsStream()並以運行它從那裏(因爲你不能直接從.jar文件運行它)寫入到一個臨時目錄。

+0

非常感謝答案,我已將我的.exe文件放到我的項目的Eclipse資源目錄中,其中.classpath,.project,/ bin和/ src存在。該exe文件出現在包編輯器。現在當我右鍵點擊我的項目 - >導出 - >運行jar看起來我的jar文件不包括這個exe文件(如exe是5 MB和生成的jar只有10 kb) – Hellnar 2009-09-05 15:19:42

+0

Eclipse jar導出(IIRC)只包含類資源。您可以通過將exe放在您的src目錄中來修復它; Eclipse會在構建過程中將其複製到bin中,並且它應該出現在jar中。但是,我建議你使用Ant來評估你的構建,因爲它比Eclipse的構建系統提供了更多的靈活性,它更容易實現自動化,並且可以在不使用Eclipse的情況下構建軟件。 – alex 2009-09-05 16:11:06

+0

我肯定會再次評論評論。螞蟻 – 2009-09-05 18:49:10