jar打包命令使用的方法,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì),品牌網(wǎng)站制作,1元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10年的網(wǎng)站開(kāi)發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破千余家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
今天老版本項(xiàng)目出了個(gè)bug,當(dāng)時(shí)svn上沒(méi)有打分支,于是反編譯了一下,找到相應(yīng)幾個(gè)要修改的文件,修改后替換進(jìn)去,發(fā)現(xiàn)啟動(dòng)失?。⊿pring boot項(xiàng)目)提示
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 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內(nèi)部依賴(lài)的第三方包被壓縮了,看提示是spring的Launcher拋出的,應(yīng)為是自己大的包,沒(méi)法就看了一下jar命令:
PS E:\pwd0508\b2b-erp> jar 用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 選項(xiàng): -c 創(chuàng)建新檔案 -t 列出檔案目錄 -x 從檔案中提取指定的 (或所有) 文件 -u 更新現(xiàn)有檔案 -v 在標(biāo)準(zhǔn)輸出中生成詳細(xì)輸出 -f 指定檔案文件名 -m 包含指定清單文件中的清單信息 -n 創(chuàng)建新檔案后執(zhí)行 Pack200 規(guī)范化 -e 為捆綁到可執(zhí)行 jar 文件的獨(dú)立應(yīng)用程序 指定應(yīng)用程序入口點(diǎn) -0 僅存儲(chǔ); 不使用任何 ZIP 壓縮 -P 保留文件名中的前導(dǎo) '/' (絕對(duì)路徑) 和 ".." (父目錄) 組件 -M 不創(chuàng)建條目的清單文件 -i 為指定的 jar 文件生成索引信息 -C 更改為指定的目錄并包含以下文件 如果任何文件為目錄, 則對(duì)其進(jìn)行遞歸處理。 清單文件名, 檔案文件名和入口點(diǎn)名稱(chēng)的指定順序 與 'm', 'f' 和 'e' 標(biāo)記的指定順序相同。 示例 1: 將兩個(gè)類(lèi)文件歸檔到一個(gè)名為 classes.jar 的檔案中: jar cvf classes.jar Foo.class Bar.class 示例 2: 使用現(xiàn)有的清單文件 'mymanifest' 并 將 foo/ 目錄中的所有文件歸檔到 'classes.jar' 中: jar cvfm classes.jar mymanifest -C foo/ .
有一個(gè)-0的選項(xiàng),試一下【劃重點(diǎn)】
jar -cvf0m b2b-erp.jar .\META-INF\MANIFEST.MF .
打包成功,執(zhí)行以下,spring boot圖標(biāo)出來(lái)了 成功!
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 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.:30 - HV000001: Hib ernate Validator 5.2.4.Final
關(guān)于jar打包命令使用的方法問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。