Jar 打包说明

来源:互联网 发布:港融数据大平台手机版 编辑:程序博客网 时间:2024/05/09 02:04

执行:

Exception in thread "main" java.io.IOException: invalid header field
        at java.util.jar.Attributes.read(Attributes.java:393)
        at java.util.jar.Manifest.read(Manifest.java:182)
        at java.util.jar.Manifest.<init>(Manifest.java:52)
        at java.util.jar.JarFile.getManifestFromReference(JarFile.java:160)
        at java.util.jar.JarFile.getManifest(JarFile.java:146)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:94)

----------------------------------------------  

错误分析:

Manifest-Version: 1.0
Class-Path: 
Created-By: 1.6.0_06 (Sun Microsystems Inc.)
Main-Class: com.demo.HelloWord

每个标签冒号后都跟上一个空格

最后一行需要有一个回车键,否则后面那一行是不能打包进去的

------------------------------------------------------------------

同时注意MANIFEST.MF要存放到META-INF目录下

-------------------------------------------------------------------
最后说明:Manifest技巧

   总是以Manifest-Version属性开头

   每行最长72个字符,如果超过的话,采用续行

   确认每行都以回车键结束,否则改行将会被忽略

   如果Class-Pass中存在路径,使用“/”分隔目录,与平台无关

   使用空行分隔属性和package属性

   使用"/"而不是"."来分隔package和class。比如com/example/myapp/

   class要发.class结尾,package要以/结尾


MANIFEST.MF实例

Manifest-Version: 1.0Archiver-Version: Plexus ArchiverCreated-By: Apache MavenBuilt-By: JimmyBuild-Jdk: 1.6.0_13Main-Class: com.apache.test.MainStartClass-Path: lib/test-lib-0.0.1-SNAPSHOT.jar lib/commons-io-2.4.jar l ib/commons-lang-2.6.jar lib/commons-pool-1.6.jar lib/fastjson-1.1.31. jar lib/jedis-2.1.0.jar lib/msgpack-0.6.7.jar lib/json-simple-1.1.1.j ar lib/junit-4.10.jar lib/hamcrest-core-1.1.jar lib/javassist-3.16.1- GA.jar lib/protobuf-java-2.4.1.jar lib/gson-2.2.4.jar


原创粉丝点击