24

我正在尝试使用 mac 终端创建一个 .jar 文件,但遇到了一些麻烦。我按照此处的步骤操作,但没有成功。我收到此错误消息:

Failed to load Main-Class manifest attribute from
aclient.jar

那么你到底是怎么做的呢?我的 java 程序称为 Main.java,我已将其编译为 .class 文件。现在我该怎么办?

谢谢

4

5 回答 5

55

1) 确保所有必要的文件都在目录中,您已打开终端/命令提示符并导航到该目录。

2)编译.java类,例如HelloWorld.java

javac HelloWorld.java

3) 这将生成 JAR 文件所需的 .class 文件。

4)接下来使用文本编辑器创建一个清单文件(使用扩展名.txt保存)并输入以下内容

Main-Class: HelloWorld

或者你的文件名是什么。

5) 接下来使用以下代码创建 JAR 文件:

jar cfm HelloWorld.jar Manifest.txt HelloWorld.class

6)运行文件:

java -jar HelloWorld.jar

如果有任何不清楚的地方,请查阅这些网站: 创建 jar 文件设置应用程序入口点

希望这对其他人有所帮助,汤姆欢呼!

编辑:

在 inga 的评论之后,值得注意的是,为了在 jar 中包含多个文件,您需要使用:

javac *.java

其次是

jar cfm HelloWorld.jar Manifest.txt *.class
于 2012-04-12T22:30:24.153 回答
8

是的,我们需要在类名末尾使用新行......它对我有用

即主类:HelloWorld

 It will look like this in Notepad++
 1.Main-Class: HelloWorld
 2.
于 2014-06-05T13:31:42.783 回答
3

也许这将有助于重新 Manifest.txt 文件:

警告:文本文件必须以换行符或回车符结尾。如果最后一行没有以新行或回车结束,则不会正确解析。

于 2013-09-01T19:52:02.600 回答
2

您需要有一个定义主类的文本文件。例如

% cat MyMain
Main-Class: HelloWorld

然后

%jar cvfm foo.jar MyMain *.class
%java -jar foo.jar
Hello world 

请参阅:http: //java.sun.com/j2se/1.4.2/runtime.html#example

于 2012-04-12T14:48:25.337 回答
1

我按照说明进行操作,但在加载 Manifest.txt 文件时遇到了问题。

在 Manifest.txt 中我们只需要编写 Main-class: class_name

但在上述声明之后,请在 Manifest.txt 中按 Enter,您的 Manifest.txt 加载问题将得到解决。清单文件末尾的新行是必需的。

问候

于 2020-11-28T16:02:45.530 回答