Java JVM启动器找不到主类
我使用NetBeans来构建我的可执行JAR,并且没有弄乱任何Ant或项目设置(使用默认设置) 当我转到Java JVM启动器找不到主类,java,netbeans,jar,classpath,Java,Netbeans,Jar,Classpath,我使用NetBeans来构建我的可执行JAR,并且没有弄乱任何Ant或项目设置(使用默认设置) 当我转到Run>>清理并构建项目时,我看到NetBeans正在构建我的JAR,并将其顺利地放入项目的dist/目录中 当我双击该JAR以运行它时,会收到以下错误消息: 找不到主类:com.me.myorg.MainApp。程序将退出 如果我在WinRAR中打开JAR并提取META-INF/MANIFEST.MF文件,我会看到定义了以下属性: 主类:com.me.myorg.MainApp 显然,com
Run>>清理并构建项目
时,我看到NetBeans正在构建我的JAR,并将其顺利地放入项目的dist/
目录中
当我双击该JAR以运行它时,会收到以下错误消息:
找不到主类:com.me.myorg.MainApp。程序将退出
如果我在WinRAR中打开JAR并提取META-INF/MANIFEST.MF
文件,我会看到定义了以下属性:
主类:com.me.myorg.MainApp
显然,com.me.myorg.MainApp
是我的GUI(Swing)应用程序的“头”
你知道发生了什么事吗?如何排除故障?提前感谢。在命令提示符(Windows)中尝试:
编辑按如下方式运行命令提示符:转到开始,在搜索框中键入CMD。右键单击命令提示符图标并选择以管理员身份运行
然后运行上面的命令。主类声明后是否有新行
Main-Class: com.me.myorg.MainApp
# empty line here
清单文件格式要求每行以行分隔符结尾。如果带有main类的行是文件中的最后一行,则忽略该行。我的系统上安装了多个版本的Java。当我双击可执行JAR时,我如何判断使用的是哪一个呢?我不确定是否使用了正确的Java版本,但我在命令提示符下使用了
Java-version
,发现我使用的是Java 6u25,然后使用6u25的javaw.exe
文件的绝对文件路径执行上述命令,我收到了以下错误消息:访问被拒绝。处理:jarfile时出错。在“控制面板”中,有一个指向“Java控制面板”的快捷方式。这里有一个名为“Java”的选项卡,谢谢Caner,但当我转到该选项卡时,它只显示一个表,其中包含我安装的所有Java版本。我相信我使用的是1.6u25,这是我通过在命令行上运行java-version
得到的。感谢Caner-这是作为管理员运行时的输出:jarfile=“C:\Program Files\java\jdk1.6.0\u 25\bin\javaw.exe”-jar“%1”%
它有正确的主方法吗,是从jar根目录到MainApp类文件的路径/com/me/myorg
?(首先消除明显的问题)你确定com.me.myorg.MainApp类在你的jar中,并且在正确的位置吗?是的,它有一个main方法,并且这个jar在几周前运行良好(我可以通过双击它来执行),并且没有更改任何源代码。Thorn-是的-请参阅下面我对Caner建议的后续操作。我认为这表明Windows存在安全问题,但我仍然不知道发生了什么。实际上,Main Class
下面有两行空行。这对你有什么意义吗?没有。使用java-jar yourfile.jar
从cmd.exe运行程序是否会给出不同的消息?java-cp yourfile.jar com.me.myorg.MainApp
是否正常启动?
Main-Class: com.me.myorg.MainApp
# empty line here