罐子打包命令使用的方法

  

jar打包命令使用的方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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

 Exception 拷贝thread “main", java.lang.IllegalStateException:, Unable 用open  nested  entry  & # 39; BOOT-INF/lib/antlr-2.7.7.jar& # 39;。
  It  has  been  compressed 以及nested  jar  files  must  be  stored  without 压缩只Please  check 从而mechanism  used 用create  your  executable  jar 文件
 PS  E: \ pwd0508 \ b2b-erp> java  -jar 。\ b2b-erp.jar
  Exception  thread 拷贝;“main", java.lang.IllegalStateException:, Unable 用open  nested  entry  & # 39; BOOT-INF/lib/antlr-2.7.7.jar& # 39;。
  It  has  been  compressed 以及nested  jar  files  must  be  stored  without 压缩只Please  check 从而mechanism  used 用create  your  executable  jar 文件
  ,,,,,,,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内部依赖的第三方包被压缩了,看提示是春天的发射器抛出的,应为是自己大的包,没法就看了一罐下命令:

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

<强>【划重点】

 jar  -cvf0m  b2b-erp.jar  \ meta - inf \ MANIFEST.MF 。

打包成功,执行以下,弹簧引导图标出来了,成功!

 PS  E: \ pwd0508 \ b2b-erp> java  -jar 。\ b2b-erp.jar
  
  ,,只,____ ,,,,,,,,, _ ,,,,,,,,,,, __  _  _
  ,/\ \/,___ # 39;_  __  _  _ (_) _  __ , __  _  \, \ \, \
  (,(,)\ ___  |, & # 39; _  |, & # 39; _ |, |, & # 39; _  \/, _”, | \ \祝福;\,\
  ,\ \/,___)|,| _)|,|,|,|,|,| |,(_ |,|,,),),,)
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

罐子打包命令使用的方法