无法使用jar命令生成-java.io.IOException:行太长
我有这样一个文件夹:无法使用jar命令生成-java.io.IOException:行太长,java,jar,executable-jar,runnable-jar,Java,Jar,Executable Jar,Runnable Jar,我有这样一个文件夹: foo/ Bar.java Bar.class Foo.java Foo.class manifest.mf .java文件都位于名为x的包中: package x; 我使用以下命令生成.class文件: javac foo/*.java 然后,我尝试使用以下内容打包为可运行jar格式: jar cmf foo.jar foo/manifest.mf foo/*.class 但我得到了这个错误: java.io.IOException: line too
foo/
Bar.java
Bar.class
Foo.java
Foo.class
manifest.mf
.java文件都位于名为x的包中:
package x;
我使用以下命令生成.class文件:
javac foo/*.java
然后,我尝试使用以下内容打包为可运行jar格式:
jar cmf foo.jar foo/manifest.mf foo/*.class
但我得到了这个错误:
java.io.IOException: line too long
at java.base/java.util.jar.Attributes.read(Attributes.java:381)
at java.base/java.util.jar.Manifest.read(Manifest.java:228)
at java.base/java.util.jar.Manifest.<init>(Manifest.java:80)
at java.base/java.util.jar.Manifest.<init>(Manifest.java:72)
at jdk.jartool/sun.tools.jar.Main.run(Main.java:264)
at jdk.jartool/sun.tools.jar.Main.main(Main.java:1669)
它使用
javac
进行编译,所以不确定发生了什么,或者为什么它不喜欢清单文件,有人知道吗?正确的命令行将是
jar -c -m foo/manifest.mf -f foo.jar foo/*.class
将使用正确的命令行
jar -c -m foo/manifest.mf -f foo.jar foo/*.class
我相信对于“jarcmf”命令,第一个参数应该是清单的路径。
如文档中所述
你能试着用下一个命令来构建它吗
jar cmf foo/manifest.mf foo.jar foo/*.class
我相信对于“jarcmf”命令,第一个参数应该是清单的路径。
如文档中所述
你能试着用下一个命令来构建它吗
jar cmf foo/manifest.mf foo.jar foo/*.class
如果您有
包x
在java文件中,它们必须位于名为x
的文件夹中在java文件中,它们必须位于名为x
的文件夹中。这很有效,哇,这比预期的要难理解,感谢您的命令jar
认为'foo.jar'是显式的。试着解析它,但失败了。这很有效,哇,这比预期的要困难,谢谢你的命令jar
认为'foo.jar'是显式的。尝试解析它,但失败了。