如何使用终端创建.jar文件

时间:2012-04-12 14:26:47

标签: java jar terminal

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

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

那你究竟是怎么做的呢?我的java程序叫做Main.java,我把它编译成.class文件。现在该怎么办?

由于

5 个答案:

答案 0 :(得分:44)

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

如果有任何不清楚的地方,请咨询以下网站: creating a jar filesetting an applications entry point

希望这有助于其他人,为汤姆喝彩!

编辑:

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

javac *.java

接着是

jar cfm HelloWorld.jar Manifest.txt *.class

答案 1 :(得分:5)

是的,我们需要在课程名称末尾使用新行...这对我有用

即。主类:HelloWorld

 It will look like this in Notepad++
 1.Main-Class: HelloWorld
 2.

答案 2 :(得分:3)

也许这会有助于重新发布Manifest.txt文件:

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

答案 3 :(得分:2)

您需要一个定义main的文本文件 类。 e.g

% 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

答案 4 :(得分:0)

我按照说明进行操作,加载Manifest.txt文件时出现问题。

在Manifest.txt中,我们只需要编写 主类:class_name

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

致谢