日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jar打包命令使用

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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:\pwd0508\b2b-erp> java -jar .\b2b-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 fileat 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:\pwd0508\b2b-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-INF\MANIFEST.MF .

打包成功,執行以下,spring boot圖標出來了 ?成功!

PS E:\pwd0508\b2b-erp> java -jar .\b2b-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:\pwd0508\b2b-erp\b2b-erp.jar started by Administrator in E:\pwd0508\b2b-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

?

轉載于:https://www.cnblogs.com/luyang08/p/6829280.html

總結

以上是生活随笔為你收集整理的jar打包命令使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。