今天用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)
这样的错误。
    实在没法解决了,请各位大侠救命,不要说用工具!就是要用命令行的。

解决方案 »

  1.   

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

  2.   

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

  3.   

    直接用命令更新 jar包中的内容是不可以的,但是之间把manifest文件写好,用winrar更新的话是可以的。
       不过仍然感谢你的回复。