Windows、运行 双击 JAR

Windows, run JAR with double click

我是第一次尝试 Java。 我正在使用 Intellij IDEA 并创建一个简单的应用程序。 在 IDE 它工作正常,然后我创建了一个 JAR 工件并且 运行 它像这样: java -jar myappname.jar 没有问题。

现在我想通过在资源管理器中双击来启动同一个 JAR,但是没有任何反应,为什么?

请注意,如果我双击另一个 JAR (sikulixsetup-1.1.3.jar),它会正确启动并显示 gui,所以问题不是 windows 中的类型关联。

我的测试应用程序没有图形用户界面,但我知道它 运行 是否正确,因为它使用 Sikulixapi 库自动 windows,所以我看看它是否在做某事。

谢谢!

这是因为 jar 不是可执行的二进制文件,而是普通的 zip 存档。 OS 无法执行。这就是为什么您必须使用 java 可执行文件并将存档作为参数传递给 运行 您的应用程序的原因。

如果您希望您的应用成为 "clickable",您必须使用一些包装器解决方案,例如 http://launch4j.sourceforge.net/

好的,我解决了我的问题。 通常 JAR 运行没有任何问题,只需在 windows 中双击它, 在我的例子中,它不是 运行 因为 .jar 文件与 javaw.exe 的 32 位版本相关联,而 JAR 中的代码需要 64 位环境。 将 windows 中的 .jar 类型关联从 javaw.exe 的 32 位版本更改为 64 位版本解决了问题

将打开文件时使用的默认程序从一个 Java 更改为另一个(32 位到 64 位,反之亦然)。