我正在使用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時構建相同的應用程序時,我沒有任何問題。
我正在使用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時構建相同的應用程序時,我沒有任何問題。
如果通過雙擊運行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
您也可以在Netbeans中選擇主類。 當您第一次嘗試運行應用程序,NetBeans將問哪些類應該是主類,但是您也可以手動選擇:
Right click on your project -> Properties -> Run
在Main Class
點擊Browse...
並選擇包含類在啓動應用程序時應該運行的主要方法。
最後,再次構建您的項目,並且manifest.mf
中的Main-Class
屬性應該設置正確。然後你的應用程序應該開始按需要,雙擊罐子或java -jar myfile.jar
。
thnx.i不知道如何編輯清單,但我設法從命令提示符運行,如你所說。我現在應該做些什麼來使它能夠通過雙擊運行? – MoienGK
並且meta-inf文件夾中沒有清單文件!該清單位於項目 – MoienGK
的根文件夾中。它必須在META-INF中具有manifest.mf。如果netbeans正在創建META-INF文件夾,請打開您的jar文件作爲zip並檢查。也可以編輯,只需在manifest.mf文件的末尾添加Main-Class:com.package.MYMainClass – bhatanant2