我在 Eclipse 中创建了小型 Java 应用程序。当我从 IDE 创建可运行的 jar 时,一切正常。但不知何故,我无法通过终端创建它(仅供参考,我使用的是 Mac)。
以下是我的项目目录结构
./bin (Contains all compiled classes)
./lib (Contains all the third party lib I am using lib1.jar,lib2.jr, lib3.jar)
./src (Contains my java class = myProject.java)
manifest.txt (Contains 2 line, first line is Main-Class:myProject and second line is empty)
以下是我用于编译类的命令
javac -d bin -sourcepath src -cp lib/lib1.jar:lib/lib2.jar:lib/lib3.jar src/myProject.java
要创建 jar 文件,我使用以下命令
jar cvfm myProject.jar manifest.txt bin/*.class lib/*.jar
当我运行此命令时,我得到无效的标题字段。以下是完整的错误消息。
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:393)
at java.util.jar.Manifest.read(Manifest.java:180)
at java.util.jar.Manifest.<init>(Manifest.java:50)
at sun.tools.jar.Main.run(Main.java:149)
at sun.tools.jar.Main.main(Main.java:1147)
我不确定我哪里出错了。谁能指出我犯了什么错误,或者我是否需要更多的东西?
提前致谢。