我是第一次尝试Java。 我正在使用Intellij IDEA并创建一个简单的应用程序。 在IDE中,它可以正常工作,然后创建一个JAR工件并按以下方式运行它: 没问题的java -jar myappname.jar。
现在,我想从资源管理器中双击来启动相同的JAR,但是什么也没发生,为什么?
请注意,如果我双击另一个JAR(sikulixsetup-1.1.3.jar),它将正确启动并显示gui,因此问题不在于Windows中的类型关联。
我的测试应用程序没有GUI,但我知道它是否可以正常运行,因为它使用Sikulixapi库自动执行Windows操作,所以我看它是否在做某事。
谢谢!
答案 0 :(得分:0)
这是因为jar
不是可执行二进制文件,而是纯zip存档。操作系统无法执行该操作。这就是为什么必须使用java
可执行文件并将存档作为参数传递来运行应用程序的原因。
如果您希望您的应用程序是“可点击的”,则必须使用http://launch4j.sourceforge.net/之类的包装器解决方案
答案 1 :(得分:0)
好,我解决了我的问题。 通常,只需在Windows中双击JAR即可毫无问题地运行, 在我的情况下,如果.jar文件与javaw.exe的32位版本相关联,而JAR中的代码期望使用64位环境,则该文件未运行。 将Windows中的.jar类型关联从javaw.exe的32位版本更改为64位版本
答案 2 :(得分:0)
在将文件从一个Java打开到另一个Java(从32位转换为64位,反之亦然)时,更改要使用的默认程序。