2012-09-10 126 views
0

我正在使用Netbeans創建Java桌面應用程序。 Netbeans內部一切都很好。但是當我嘗試運行在我的項目工作區的dist文件夾中創建的.jar文件時,出現以下錯誤:can not find or load main class無法找到或加載主類

我最近升級到Java 1.7.0_03。你認爲這可能是原因嗎?新的JDK位於glassfish之內,我不明白爲什麼?!

順便說一句,當我在Mac OS X中安裝Java 1.6時構建相同的應用程序時,我沒有任何問題。

回答

2

如果通過雙擊運行jar文件,那麼錯誤是manifest.mf文件(通常在META-INF文件夾中)需要定義主類。

看看http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html

部分

Main-Class: com.package.MYMainClass

否則,如果你是從命令提示符下運行,那麼

java -jar my.jar com.package.MYMainClass 
+0

thnx.i不知道如何編輯清單,但我設法從命令提示符運行,如你所說。我現在應該做些什麼來使它能夠通過雙擊運行? – MoienGK

+0

並且meta-inf文件夾中沒有清單文件!該清單位於項目 – MoienGK

+0

的根文件夾中。它必須在META-INF中具有manifest.mf。如果netbeans正在創建META-INF文件夾,請打開您的jar文件作爲zip並檢查。也可以編輯,只需在manifest.mf文件的末尾添加Main-Class:com.package.MYMainClass – bhatanant2

0

您也可以在Netbeans中選擇主類。 當您第一次嘗試運行應用程序,NetBeans將問哪些類應該是主類,但是您也可以手動選擇:

Right click on your project -> Properties -> Run

Main Class點擊Browse...並選擇包含類在啓動應用程序時應該運行的主要方法。

最後,再次構建您的項目,並且manifest.mf中的Main-Class屬性應該設置正確。然後你的應用程序應該開始按需要,雙擊罐子或java -jar myfile.jar

相關問題