我搜索了与此问题相关的其他帖子,但未能找到解决我问题的解决方案。
我可以通过命令提示符使用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
答案 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"命令。)