Java .jar 可执行文件无法打开(双击)
Java .jar executable not opening (on double click)
我写了一个有 5 个 classes 的小命令行游戏:主要 class "DiaDia.class",以及其他 "Partita.class"、"Comando.class" , "Stanza.class", "Attrezzo.class"。
然后我创建了一个 diadiamanifest.txt 文件,所以:
Main-Class: DiaDia
以新行结束文件。
我试图用 2 个不同的命令创建一个 DiaDia.jar 文件:
jar cvfm DiaDia.jar diadiamanifest.txt DiaDia.class Partita.class Comando.class Stanza.class Attrezzo.class
jar cvfe DiaDia.jar DiaDia DiaDia.class Partita.class Comando.class Stanza.class Attrezzo.class
在这两种情况下,生成的 DiaDia.jar 文件 运行 都适用于命令:
java -jar DiaDia.jar
但是双击它什么也没做。
我将.jar 扩展名的文件关联正确设置为
C:\Program Files\Java\jre7\bin\javaw.exe
I 运行 Windows 7 家庭高级版 x64,带有 jre7 更新 76 和 jdk1.7.0_76.
I wrote a little command-line game
那就是问题所在。
javaw.exe
设计用于 运行 GUI 应用程序 - 它不分配控制台。如果您将 .jar
的文件关联更改为 运行 java.exe
,它将启动一个控制台并且您的应用程序将 运行。另一方面,任何 else 设计为 运行 作为可启动的 jar 文件——其中大部分 将 具有 GUI——都将结束启动控制台,即使你不想要一个。
或者,将您的游戏更改为不需要控制台,或者只需使用 java -jar ...
从命令行 运行 它,正如您已经说过的那样,工作正常。
我写了一个有 5 个 classes 的小命令行游戏:主要 class "DiaDia.class",以及其他 "Partita.class"、"Comando.class" , "Stanza.class", "Attrezzo.class"。 然后我创建了一个 diadiamanifest.txt 文件,所以:
Main-Class: DiaDia
以新行结束文件。 我试图用 2 个不同的命令创建一个 DiaDia.jar 文件:
jar cvfm DiaDia.jar diadiamanifest.txt DiaDia.class Partita.class Comando.class Stanza.class Attrezzo.class
jar cvfe DiaDia.jar DiaDia DiaDia.class Partita.class Comando.class Stanza.class Attrezzo.class
在这两种情况下,生成的 DiaDia.jar 文件 运行 都适用于命令:
java -jar DiaDia.jar
但是双击它什么也没做。 我将.jar 扩展名的文件关联正确设置为
C:\Program Files\Java\jre7\bin\javaw.exe
I 运行 Windows 7 家庭高级版 x64,带有 jre7 更新 76 和 jdk1.7.0_76.
I wrote a little command-line game
那就是问题所在。
javaw.exe
设计用于 运行 GUI 应用程序 - 它不分配控制台。如果您将 .jar
的文件关联更改为 运行 java.exe
,它将启动一个控制台并且您的应用程序将 运行。另一方面,任何 else 设计为 运行 作为可启动的 jar 文件——其中大部分 将 具有 GUI——都将结束启动控制台,即使你不想要一个。
或者,将您的游戏更改为不需要控制台,或者只需使用 java -jar ...
从命令行 运行 它,正如您已经说过的那样,工作正常。