【发布时间】:2017-08-22 20:30:24
【问题描述】:
我正在尝试创建一个可执行的 jar 文件。我有一个 Test.java 文件,运行此命令后:
javac Test.java
我现在有两个文件:Test.java 和 Test.javac
现在,为了创建我的 JAR 文件,我这样做了:
jar cvf Test.jar Test.class
但是,在执行完jar之后:
java -jar Test.jar
我收到这条消息:
no main manifest attribute, in Test.jar
然后我读到我需要一个清单文件,所以我这样做了:
jar cvfm Test.jar manifest.txt *.class
但我收到了这条消息:
java.io.FileNotFoundException: manifest.txt (No such file or directory)
现在,我有点困惑,因为我不知道自己做错了什么。我的两个问题是:
1) 如何正确创建可执行的jar文件?
2) 什么是清单文件?
编辑
我的方向结构如下:
测试/src/me/pablo/main/
在该文件夹中,我有:Test.java、Test.class、Manifest.txt 和 jar 文件。
但是,当我运行命令时,我在 Test/src/me/pablo/main/ 中执行它,因此我不必使用长地址。
【问题讨论】:
-
你可以尝试将清单文件放在jar文件“jar cvfm manifest.txt Test.jar *.class”的前面
-
@AlexanderPetrov 我收到此错误:“java.io.IOException: invalid header field”
标签: java jar compilation