无法在Windows上运行我的jar文件

Laz*_*zer 0 java windows executable jar manifest

我有这些文件board.classx4.class(x4.class有main()方法).

我写道,要包装这些文件

jar cf x4.jar *.class
Run Code Online (Sandbox Code Playgroud)

并得到一个x4.jar文件.

我将这个x4.jar文件复制到我的桌面(在Windows Vista上)并双击它.我收到此错误:

无法加载Main-Class清单属性 C:\Users\eSKay\Desktop\x4.jar

我该怎么做才能使这个文件作为jar可执行文件运行(不安装任何软件)?


更新: 我使用清单文件来解决问题.我有我需要的jar文件,如果你这样做,它运行正常:

java -jar x4.jar
Run Code Online (Sandbox Code Playgroud)

但是,当我双击x4.jar没有任何反应时,我检查了任务管理器,发现javaw.exe正在后台启动,但它没有显示原始程序给出的输出.

问题是什么?

Jon*_*eet 5

您需要创建一个清单文件,其中包含指定其入口点Main-Class属性.然后使用jar命令中的"m"标志来指定它.例如,您可能有一个名为manifest.txt的文件:

Manifest-Version: 1.0 
Main-Class: x4    
Run Code Online (Sandbox Code Playgroud)

请注意,您需要在文件末尾有一个空行,否则该jar工具将无法正确处理它,无声地忽略最后一行.

然后运行:

jar cfm x4.jar manifest.txt *.class
Run Code Online (Sandbox Code Playgroud)

要测试它,请运行:

java -jar x4.jar
Run Code Online (Sandbox Code Playgroud)

  • @eSKay - 确保在Main-Class:x4行后面有换行符或回车符.我知道@Jon是对的,但是想知道是否有任何怪癖.在第一天我得到了同样的错误.但后来我想起你需要一个CR/LF.我发现了以下语句:"警告:文本文件必须以新行或回车结束.如果不以新行或回车结束,则不会正确解析最后一行."here:http:// java.sun.com/docs/books/tutorial/deployment/jar/appman.html (2认同)