双击jar时无法找到主类 - 尝试了不少解决方案

时间:2014-06-17 12:33:45

标签: java netbeans jar build

我搜索了与此问题相关的其他帖子,但未能找到解决我问题的解决方案。

我可以通过命令提示符使用java -jar helloworld.jar并且它运行完美,但是如果我双击它,命令提示符会暂时打开,我会瞥见标题中的错误。

一个人以进入注册表的形式提供了一个解决方案,并检查HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ jarfile \ Shell \ Open \ Command值是否正确设置为javaw文件路径,它为:

  

“C:\ Program Files \ Java \ jdk1.8.0_05 \ bin \ javaw.exe”-jar“%1”%*

另一个解决方案提供了在PATH环境变量中的参考,我在那里有:

  

C:\ Program Files \ Java \ jdk1.8.0_05 \ bin

我确定MANIFEST文件是正确的,因为项目在Netbeans中运行良好,当然当你尝试命令提示符java -jar helloworld.jar时它运行正常。

任何人都可以提供建议吗?我一直在摆弄这几个小时无济于事,我无法确定我哪里出错了。谢谢stackoverflow!

编辑:

我也尝试过:

  

assoc .jar

  

ftype jarfile

哪个回归 的.jar = jar文件 和 jarfile =“C:\ Program FIles \ Java \ jdk1.8.0_05 \ bin \ javaw.exe”-jar“%1”%*

分别。

这里是清单信息:

  

Manifest-Version:1.0 Ant-Version:Apache Ant 1.9.2 Created-By:   1.8.0_05-b13(Oracle Corporation)类路径:X-COMMENT:Main-Class将由构建Main-Class自动添加:mypackage.HelloWorld

3 个答案:

答案 0 :(得分:0)

如果您正在使用Eclipse,则在导出Jar时会询问Main类。在那里你必须从多个类中选择一个Main类。

从命令行 -

java -cp name.jar classname

这里的classname应该是一个完全限定的类名。

答案 1 :(得分:0)

我的猜测是你的JAR文件工作正常。

如果要在执行程序时查看返回值,最好将输入和输出重定向到小型Swing窗口。或者你会让控制台等待一些输入。

答案 2 :(得分:-1)

前一段时间我遇到了一个问题(运行IPConfig),命令运行,命令提示符会在我看到任何内容之前关闭。听起来这就是这里发生的事情,只要窗口消失就可以看到错误。

首先尝试打开命令提示符并运行不带" java -jar"的文件。命令和开关。据我所知,双击.jar将完全尝试(运行没有java命令的文件),错误输出,并关闭命令提示符窗口。也许尝试这将保持命令提示符打开,并允许您看到错误消息。它也可以描述问题(据我所知,双击并没有使用" java -jar"命令。)