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
  • 相关阅读:
    Java反射机制之初见端倪
    DB2日常维护之优化 【优化】
    db2pd 分析锁等待 步骤 【监控】
    DB2 UDF
    db2中会导致表处于reorg pending状态的alter语句
    利用Explain分析SQL【监控】
    Hibernate之Hello World篇
    规划下时间 13.0413.08
    神经网络
    ML EX3
  • 原文地址:https://www.cnblogs.com/luyang08/p/6829280.html
Copyright © 2011-2022 走看看