2012-04-25 105 views
0

我的本地系統中有JSmooth軟件。我想生成我的JAR文件作爲EXE,但我收到錯誤,當我點擊運行它顯示的EXE。使用JSmooth將Jar轉換爲exe - 無法找到主類

java virtual machine launcher ---> 
    Could not find main class: MainClass .Program will exit. 

如何使用JSmooth軟件創建工作可執行文件?

+0

您的jar文件是否具有正確的主類? – 2012-04-25 06:45:59

+0

你可以點擊JAR文件本身並啓動它?你可以用「java -jar my.jar」運行它嗎? – 2012-04-25 07:20:24

+0

是否應用程序。有(Swing,AWT,SWT ..)GUI? – 2012-04-25 08:15:26

回答

3

你可以通過雙擊執行你的jar文件嗎? 任何用於執行的jar包都需要一個名爲MANIFEST.MF的文件,該文件位於該包中的META-INF目錄中。在那個文件中,你可以告訴VM在哪裏找到你的程序的主要方法來開始執行。很多IDE的NetBeans默認會在生成項目時生成可執行的jar文件(我的意思是JVM可執行程序包而不是二進制exe文件!)。
我不瞭解JSmooth,但是對於運行jar文件,您必須說jvm在哪裏可以找到主要方法。所以,你可能要檢查你的jar文件&您的MANIFEST.MF應該包含這樣的事情:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.x.x 
Created-By: 1.x.x (Sun Microsystems Inc.) 
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build 
Main-Class: path.to.main.class 
+0

+1 - 這裏最可能的問題是JAR文件沒有被正確構建爲* executable * JAR文件。那會讓JSmooth絆倒。 – 2012-04-25 07:09:26

+0

不,它是NetBeans生成的jar我給它的JSmooth應用程序事件雖然同樣的問題? – sateesh 2012-04-25 11:45:31

+0

如果它是一個NetBeans生成的jar文件,請確保你有主要方法(我的意思是「公共靜態無效的主要」)&你必須設置包含main的類作爲你的主類在項目屬性 - >非常多的運行 – 2012-04-25 12:01:46

1

JSmooth有問題的進口文件。更好的是你可以使用Launch4j工具。它的工作完美。

剛剛從下載http://sourceforge.net/projects/launch4j

步驟應遵循 1.提供任何名稱作爲輸出文件,擴展名爲.exe和1.4.0下的基本標籤 2.提民JRE版本下選擇年jar文件JRE選項卡 3.保存並執行。它創建exe文件。

0

我發現MANIFEST.MF已將我的主類列爲「Main」,而不是「Main.class」。添加類擴展爲我修復了它。