日期:2014-05-20  浏览次数:20897 次

manifest的生成问题,
今天用jar命令打包时出问题了:
manifes的文件是这样的
Manifest-Version:   1.0
Created-By:   1.4.2_05   (Sun   Microsystems   Inc.)
Main-Class:cn.Loader.class

用jar命令打包后,不提示错误,但是生成的jar文件中的manifest.mf中没有
Main-Class:cn.Loader.class,也就是没有写进去,应该是java中生成manifest这个方法没有将文件中的内容写进去。
自然不能直接运行了。

上网查了半天,有的说是需要加两个回车符或者一个回车符,但是我加了以后打包时出现:
java.io.IOException:   invalid   header   field
                at   java.util.jar.Attributes.read(Attributes.java:387)
                at   java.util.jar.Manifest.read(Manifest.java:167)
                at   java.util.jar.Manifest. <init> (Manifest.java:52)
                at   sun.tools.jar.Main.run(Main.java:124)
                at   sun.tools.jar.Main.main(Main.java:904)
这样的错误。
        实在没法解决了,请各位大侠救命,不要说用工具!就是要用命令行的。

------解决方案--------------------
-cvfm 还有一种办法 这个是偷懒的啊 winrar可以替换jar包里面的文件 可以在压缩的时候不指定mf文件(-cvf) 等jar生成的以后 用winrar替换这个文件就可以了 偷懒的办法啊 不推荐啊