2013-07-16 59 views
2

我剛剛創建了一個JAR文件,其中包含外部依賴關係,這樣我只需要一個JAR文件。我通過使用FatJar來做到這一點。當我這樣做時,我的罐子工作得很好,我能夠毫無問題地運行它。然後我使用ikvm將我的Jar轉換爲exe。當我嘗試運行exe我得到這個錯誤:IKVMC Runner Class

Exception in thread "main" java.lang.IllegalArgumentException: Unable to locate com.simontuffs.onejar.Boot in the java.class.path: consider using -Done-jar.jar.path to specify the one-jar filename

於是我想到的第一件事是檢查是否有是指定的類路徑的清單文件。確實有一個清單文件,這是它的內容:

Manifest-Version: 1.0 Created-By: Fat Jar/One-JAR Eclipse Plug-In 
Main-Class: com.simontuffs.onejar.Boot 

我假設這是正確的,因爲我能夠運行jar罰款,而這也被FatJar創建。

我不確定接下來要做什麼,而且我不確定什麼-Done-jar.jar.path是。任何人都知道問題可能是什麼?

回答

0

我認爲問題在於ikvmc編譯器沒有看到嵌入到您正在創建的單個可執行JAR文件中的JAR文件。

您可能希望將單個可執行JAR文件的創建以及將單個Windows exe創建爲單獨的進程。 Fat Jar插件將爲您創建可執行的JAR,而不會出現任何問題。

要創建一個Windows exe文件,您可能需要一個批處理文件或ant腳本,它會在您的代碼和所有JAR依賴項上調用ikvmc。我想你可以提供一個在ikvmc命令行上轉換的JAR文件列表,並告訴它產生一個exe文件作爲它的輸出。這可能會給你你想要的!