java - 双击后不启动 .jar 文件

标签 java windows eclipse jar

我对 Eclipse 创建的 .jar 文件有疑问。

我的问题是 JavaFX-Applications 的 Eclipse 创建的 .jar 文件不会以 .jar 文件启动。 如果您尝试双击启动它们,则只会出现蓝色小“正在加载”圆圈一秒钟。

如果我使用 cmd 或 PowerShell 使用“java -jar xxx.jar”命令启动 .jar 文件,它会毫无问题地启动。

在 Eclipse 中导出 .jar 文件(可运行的 JAR 文件)时,我选择项目的主类作为启动配置,并选择“将所需的库提取到生成的 JAR 中”作为库处理。

我安装了 JDK 11 和 8 以及 JRE 8。

我在设置中查找了 .jar 文件类型的默认应用程序。 对于 .jar 文件,“Java(TM) Platform SE 二进制文件”显示为 .jar 文件的默认应用程序。 我不知道这代表哪个版本的 Java,但我认为它是 JRE。

然后我还尝试使用其他 Java 安装来启动 .jar 文件,方法是“右键单击 -> 打开方式 -> 选择另一个应用程序”,然后我选择了该应用程序的 javaw.exe JDK 11 和 8,但两次都只出现蓝色“正在加载”圆圈。

我在互联网和 stackoverflow 上做了一些研究,但没有找到任何解决我问题的答案。

我使用的是 Windows 10 和 Eclipse 2019-06。 JavaFX 应用程序正在使用 JDK 8。

MANIFEST.MF:

Manifest-Version: 1.0

Main-Class: application.Main

Class-Path: .


Name: about.html

SHA-256-Digest: 1fuYr0bu6NsJZCAmSom5QtnvnV0Cg8DwLn77Dd1Ql24=


Name: jfx8.cssext

SHA-256-Digest: b2p9PXeoxqnTdYgBFeKp3s7J9PajukOS3sGqyM4s36I=

最佳答案

文件类型关联或“打开方式”功能以及双击的问题是应用程序(在您的情况下为 javaw.exe 或 java.exe)在没有参数的情况下执行,或者更准确地说只有一个参数 - 名称你的 jar 文件。 这是自 Windows XP 以来的一个已知问题。以前您可以使用 ftype 作为 assoc 命令:

ftype MyJAR=C:\your java path\java.exe -jar "%1"
assoc .jar=MyJAR

但在较新的 Windows 版本中,它将更新 HKLM\Software\Classes 的注册表项,而不是 HKCU(优先)。 我建议使用 Nir ​​Sofer http://www.nirsoft.net/utils/file_types_manager.html 编写的免费实用程序 它支持Windows 10,您将能够正确定义-jar参数

关于java - 双击后不启动 .jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57856711/

相关文章:

java - 在两个标签之间以常规方式解析?

java - 配置 Spring MappingElasticsearchConverter 将 _id 视为字符串

C#,处理文件, "Unauthorized Access"?

eclipse - gradle ide eclipse 插件导入 gradle 项目构建模型导致 UnsatisfiedLinkError : net

java - Eclipse RCP。添加 View 可恢复的附加条件

java - 在 WHERE 子句中使用 CASE WHEN 的 JPA 查询。怎么做?

java - 用于将简单 java.util.Map 持久保存到表的 Hibernate 动态映射模式替代方案?

java - 你能修复 Eclipse 中不直观的完成提示吗?

c# - 有没有更好的方法来测量 CPU 性能而不影响性能?

windows - 我如何配置 TortoiseGit 以使用 Meld 进行差异、 merge 和冲突?