繁体   English   中英

Java应用程序将从CMD和Eclipse运行,但不能双击

[英]Java application will run from CMD and Eclipse but not double click

我做了一个搜索,我可以看到很多人遇到了和我一样的问题,但没有一个解决方案对我有用。

基本上我在Eclipse中有一个来自旧Windows安装的Java项目。 我已经清理并重建了它,因为起初它不会编译,但现在我将它导出为Runnable Jar。 但是,我可以让应用程序出现的唯一方法是在命令提示符下执行java -jar foo.jar ,或者在Eclipse中运行它。 如果我在Windows资源管理器中双击JAR,即使我知道Java正确关联,因为其他Runnable Jars工作,也没有任何反应。

该项目仅在其构建路径库中列出了x86 JRE,并且列出的所有文件似乎都存在。 我正在运行Windows 7 HP。

更新 :对不起,我刚刚发现没有其他Runnable Jars正在工作。 如果他们用launch4j包裹,他们工作虽然...

编辑 :我从Eclipse导出的Runnable Jars在其他系统上运行正常,并在双击时加载

某些注册表值或文件关联可能搞砸了。 擦除所有现有的JRE和JDK并重新安装它们应该可以解决您的问题。


或者,您可以通过在此处手动编辑注册表值来修复它: HKLM > SOFTWARE > Classes > jarfile > shell > open > command我的值是

键入: REG_SZ

数据: "C:\\Program Files\\Java\\jre8\\bin\\javaw.exe" -jar "%1" %*

您当然希望该路径指向您的javaw.exe,并确保您有其他参数。

我在使用Spring工具套件时也遇到了同样的问题。

您可以使用以下步骤: -

  • 右键单击项目 - >导出 - > Runnable jar文件 - >(这里,在库处理中,有三个选项,你必须选择中间一个,即将所需的包打包到生成的jar中。它也将打包外部依赖项)。

- 在我的情况下,我的runnable jar只在我的环境上执行,即我已经创建了JAR。 最初我选择了第一个创建JAR的选项,即将所需的库提取到所需的JAR中。但这不合适。

它可能对你有所帮助。如果我出错了,请让我纠正。

由于您可以运行运行命令行的JAR,因此我认为您的问题与双击时设置的运行文件的Java版本有关。

要查找从命令行成功运行该文件的版本,并将其设置为默认打开JAR文件:

  1. 打开一个新的命令提示符窗口。
  2. 运行echo %path% 在路径值中,您应该能够找到一个指向其中一个已安装Java版本的bin文件夹的路径值。 在某处复制此路径。
  3. 导航到您要运行的JAR文件。 右键单击JAR - >打开 - >选择默认程序... - >浏览...
  4. 浏览到您在步骤2中复制的路径。(最简单的方法是将其粘贴到地址栏中)
  5. 双击javaw.exe。
  6. 单击确定。

您现在应该能够运行JAR文件。 如果您的问题仍然存在,请与我们联系。

我已经制作了一个罐子并将其保存在桌面上。然后,我双击罐子,它对我来说很好。

我和我所拥有的东西:在我的主类中,执行一些操作,最后我添加了Thread.sleep(25000); 暂时保持该计划。 每次双击导出的jar后,我发现在系统进程树添加了一个新的javaw.exe进程 我在任务管理器上注意到了它。 各个javaw.exe进程结束后25000ms。 因为我的应用程序没有结合任何GUI,这就是为什么我没有看到相应进程的任何GUI更改。 我很自信,如果我的应用程序有一些GUI,我肯定会在每次运行时获得相应的GUI窗口。

常见错误:当我们将项目从Eclipse导出为Runnable JAR文件时,它将使用选定的Eclipse启动配置和Eclipse特定的启动包装器导出。 现在,如果配置不匹配,当您尝试通过双击运行它时,您将无法看到错误,如果您从CMD运行它,那么您肯定会得到错误日志。

要创建标准可执行JAR文件:要创建标准可执行JAR文件,可以导出为JAR文件并在向导的最后一个屏幕中指定主类

这对我很有用。 我使用了来自不同系统的相同jar并保持不同的位置。

这里真的很傻。

您是否尝试使用(java.exe或javaw.exe)提升打开.jar的权限?

右键单击程序 - >属性 - >兼容性选项卡 - >选中底部的“以管理员身份运行此程序”按钮。

您可能在命令窗口中拥有提升的权限,这可能会让它运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM