spring boot用layout ZIP打出來的包能夠支持外部classpath,但是當用rar/7zip替換其中的jar后,報下列錯誤:
Unable to open nested entry 'BOOT-INF/lib/cache-api-0.4.jar'. It has been compressed and nested jar files must be stored without compression.
解決方法:
jar包可以替換的,過程如下:
jar -xvf ta-base-service-TABASEV201913.00.000-SNAPSHOT.jar
### 替換內容
jar -cfM0 ta-base-service-TABASEV201913.00.000-SNAPSHOT.jar ./
不能用rar或7-zip替換
最好方式還是將應用的jar放在spring boot主應用jar外面的目錄中。這可以通過maven-jar-plugin來實現將某些jar不打包到spring boot應用jar中,而是放在特定目錄中。