我写了一个包含5个类的命令行游戏:主要类" 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
我使用jre7 update 76和jdk1.7.0_76运行Windows 7 Home Premium x64。
答案 0 :(得分:1)
我写了一个小命令行游戏
那就是问题所在。
javaw.exe
旨在运行GUI应用程序 - 它不会分配控制台。如果您将.jar
的文件关联更改为运行java.exe
,则会启动控制台并运行您的应用。另一方面,任何 else 设计为作为可启动的jar文件运行 - 其中大部分将具有GUI - 将最终启动控制台,即使你不想要一个。
或者,将游戏更改为不需要控制台,或者只使用java -jar ...
从命令行运行游戏,正如您已经说过的那样,它正常工作。