2012-09-10 129 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

相关问题