更新spring-boot jar包中的BOOT-INF/lib目錄下的jar包
場景
需要更新lib目錄下某個jar包的配置文件
失敗的解決方法
用解壓軟件依次打開spring-boot jar包(設(shè)為a.jar)、BOOT-INF/lib目錄下的jar包(設(shè)為b.jar),然后修改配置文件后保存回a.jar包中,這樣操作在通過java -jar運(yùn)行a.jar包時會導(dǎo)致以下錯誤:
java.lang.IllegalStateException: Unable to open nested entry b.jar. It has been compressed and nested jar files must be stored without compression
錯誤原因
保存修改后lib下的b.jar時壓縮軟件對b.jar進(jìn)行了壓縮,導(dǎo)致b.jar包損壞
解決方案
在a.jar包所在文件夾新建BOOT-INF文件夾,再在BOOT-INF下新建lib文件夾;
復(fù)制BOOT-INF/lib下的b.jar包到以上新建的lib文件夾下;
修改b.jar包配置文件并保存;
在a.jar所在的文件夾運(yùn)行jar -uf0 a.jar BOOT-INF/lib/b.jar命令,即可將修改后b.jar無壓縮地添加a.jar的指定路徑中。
備注
在jar -uf0命令中,文章來源:http://www.zghlxwxcb.cn/news/detail-640523.html
u 指更新現(xiàn)有的歸檔文件,
f 指定歸檔文件名 / 為壓縮包指定名字,
0 僅存儲,不壓縮,只是打包;不使用任何 ZIP 壓縮
見 jar命令
?文章來源地址http://www.zghlxwxcb.cn/news/detail-640523.html
到了這里,關(guān)于更新spring boot jar包中的BOOT-INF/lib目錄下的jar包的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!