zoukankan      html  css  js  c++  java
  • jar打包命令使用

     今天老版本项目出了个bug,当时svn上没有打分支,于是反编译了一下,找到相应几个要修改的文件,修改后替换进去,发现启动失败(Spring boot项目)提示

    Exception in thread "main" java.lang.IllegalStateException: Unable to open nested entry 'BOOT-INF/lib/antlr-2.7.7.jar'.
    It has been compressed and nested jar files must be stored without compression. Please check the mechanism used to create your executable jar file
    PS E:pwd05082b-erp> java -jar .2b-erp.jar
    Exception in thread "main" java.lang.IllegalStateException: Unable to open nested entry 'BOOT-INF/lib/antlr-2.7.7.jar'.
    It has been compressed and nested jar files must be stored without compression. Please check the mechanism used to create your executable jar file
            at org.springframework.boot.loader.jar.JarFile.createJarFileFromFileEntry(JarFile.java:285)
            at org.springframework.boot.loader.jar.JarFile.createJarFileFromEntry(JarFile.java:260)
            at org.springframework.boot.loader.jar.JarFile.getNestedJarFile(JarFile.java:248)
            at org.springframework.boot.loader.jar.JarFile.getNestedJarFile(JarFile.java:237)
            at org.springframework.boot.loader.archive.JarFileArchive.getNestedArchive(JarFileArchive.java:103)
            at org.springframework.boot.loader.archive.JarFileArchive.getNestedArchives(JarFileArchive.java:87)
            at org.springframework.boot.loader.ExecutableArchiveLauncher.getClassPathArchives(ExecutableArchiveLauncher.java:72)
            at org.springframework.boot.loader.Launcher.launch(Launcher.java:49)
            at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58)

    提示意思:jar内部依赖的第三方包被压缩了,看提示是spring的Launcher抛出的,应为是自己大的包,没法就看了一下jar命令:

    PS E:pwd05082b-erp> jar
    用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
    选项:
        -c  创建新档案
        -t  列出档案目录
        -x  从档案中提取指定的 (或所有) 文件
        -u  更新现有档案
        -v  在标准输出中生成详细输出
        -f  指定档案文件名
        -m  包含指定清单文件中的清单信息
        -n  创建新档案后执行 Pack200 规范化
        -e  为捆绑到可执行 jar 文件的独立应用程序
            指定应用程序入口点
        -0  仅存储; 不使用任何 ZIP 压缩
        -P  保留文件名中的前导 '/' (绝对路径) 和 ".." (父目录) 组件
        -M  不创建条目的清单文件
        -i  为指定的 jar 文件生成索引信息
        -C  更改为指定的目录并包含以下文件
    如果任何文件为目录, 则对其进行递归处理。
    清单文件名, 档案文件名和入口点名称的指定顺序
    与 'm', 'f''e' 标记的指定顺序相同。
    
    示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中:
           jar cvf classes.jar Foo.class Bar.class
    示例 2: 使用现有的清单文件 'mymanifest' 并
               将 foo/ 目录中的所有文件归档到 'classes.jar' 中:
           jar cvfm classes.jar mymanifest -C foo/ .

    有一个-0的选项,试一下

     jar -cvf0m b2b-erp.jar .META-INFMANIFEST.MF .

    打包成功,执行以下,spring boot图标出来了  成功!

    PS E:pwd05082b-erp> java -jar .2b-erp.jar
    
      .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _    
    ( ( )\___ | '_ | '_| | '_ / _` |    
     \/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v1.4.1.RELEASE)
    
    2017-05-09 10:09:02 INFO  [main] com.qiaomai.erp.Application.logStarting:48 - Starting Application v1.2.0 on PC201608251
    259 with PID 13664 (E:pwd05082b-erp2b-erp.jar started by Administrator in E:pwd05082b-erp)
    2017-05-09 10:09:02 INFO  [main] com.qiaomai.erp.Application.logStartupProfileInfo:665 - The following profiles are acti
    ve: dev
    2017-05-09 10:09:02 INFO  [main] org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext
    .prepareRefresh:581 - Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext
    @5eb5c224: startup date [Tue May 09 10:09:02 CST 2017]; root of context hierarchy
    2017-05-09 10:09:03 INFO  [background-preinit] org.hibernate.validator.internal.util.Version.<clinit>:30 - HV000001: Hib
    ernate Validator 5.2.4.Final
  • 相关阅读:
    AtCoder Grand Contest 015 题解
    AtCoder Grand Contest 014 题解
    AtCoder Grand Contest 013 题解
    AtCoder Grand Contest 012 题解
    AtCoder Grand Contest 011 题解
    AtCoder Grand Contest 010 题解
    AtCoder Grand Contest 009 题解
    NOIP2017 Day2 题解
    博客园主题备份
    多项式全家桶
  • 原文地址:https://www.cnblogs.com/luyang08/p/6829280.html
Copyright © 2011-2022 走看看