如何通过双击运行从 Eclipse 导出的 .jar?
我在 Eclipse 中为我的项目导出了一个可运行的 .jar 文件,但我似乎无法通过双击来执行它。使用“java -jar program.jar”从命令行运行它效果很好,虽然我可以只留下一个批处理文件来运行它,但这样做相当烦人。双击我从 Eclipse 导出的一些旧 jar 可以正常工作。有人知道如何解决这个问题吗?我正在运行 Windows 7 x64 顺便说一句(但我有 32 位 java)
编辑:完全忽略这个问题。这是我在 32 位 eclipse 中使用 64 位 java 的问题,以及我可能使用过的解决方法。一旦我换成 32 位 java,一切就都解决了。
I exported a runnable .jar file for a project of mine in Eclipse, but I can't seem to execute it with a double click. Running it from the command line with "java -jar program.jar" works fine, and while I could just leave a batch file to run it, it is rather annoying to do so. And double clicking some older jars that i've exported from Eclipse works fine. Anyone know how to fix this? I'm running windows 7 x64 btw(But i have 32-bit java)
EDIT: Ignore this question completely. It was a problem of me using 64 bit java in 32 bit eclipse, and the workarounds i may have used. Once I changed to 32 bit java, everything was fixed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果它是控制台应用程序,那么尽管该应用程序可能在后台运行,但双击时可能不会打开命令提示符。我建议为控制台应用程序制作批处理文件。
如果它是一个 Swing 应用程序并且双击后仍然无法运行,您应该尝试使用此 http:// 包装为 exe 文件launch4j.sourceforge.net/
If it's a console application then it probably won't open the command prompt on double click although the app may be running in the background. I recommend making batch files for console applications.
If its a Swing application and still won't run on double click you should try wrapping as an exe file using this http://launch4j.sourceforge.net/
在 Windows 系统上,您需要将 .jar 转换为 .exe 文件。
请参阅如何转换我的 Java 程序转换为 .exe 文件? 有很多替代方案。
On a Windows system, you will need to convert your .jar to an .exe file.
Please see How can I convert my Java program to an .exe file? for a good number of alternatives.
您可以通过设置 javaw.exe 来执行 jar 文件来更改此设置。
我的电脑>工具>文件夹选项>文件类型
在列表中查找 JAR 并更改其“打开方式”。
You can change this by setting javaw.exe to execute jar files.
My Computer > Tools > Folder Options > File Types
Find JAR in the list and change its 'opens with'.