一、背景
我將軟件成功打好jar包了,到部署的時候發現jar包中數據庫配置寫的有問題,不想再重新打包了,打算直接修改配置文件,結果修改配置后,再通過java -jar運行時就報錯了。
二、問題描述
本地項目是springBoot項目,多模塊打包,持久層數據模塊是單獨的一個jar包,被業務模塊所依賴,修改的話需要到業務模塊的jar中的lib目錄下將數據模塊的jar打開,然后再修改數據模塊的jar,相當修改的jar包是嵌套到運行jar包里面的。這樣修改jar包中數據庫配置,替換對應的jar包,再通過java -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.
這個錯誤說的是:它已經被壓縮,嵌套的jar文件必須在沒有壓縮的情況下存儲。
之前也時這么修改的,比如增量修改代碼,把class文件放到對應目錄下替換,或者修改配置文件,之前修改都沒遇到過這個問題,可能是之前并沒有嵌套的修改過jar。
三、解決方案
1.新建一個文件夾
比如我之前的jar包是 xxx-service.jar,那么我新建一個名稱位 xxx-service 的文件夾。
2.將jar包復制到對應文件夾下
3.輸入命令解壓jar包
先打開cmd黑窗口,然后到xxx-service文件夾下。然后輸入命令解壓jar包:
jar xf xxx-service.jar
4.替換配置文件到指定jar包中
5.刪除原來復制到xxx-service文件夾下的xxx-service.jar包
6.到黑窗口,輸入命令,重新打jar包
jar cfM0 xxx-service.jar *
7.將打包好的jar包替換原來的jar再輸入命令運行即可。
最后
今天看技術公眾號得知,騰訊課堂竟然下線了。
通知:2024年6月29日,騰訊課堂官網發布重要通知,宣布將于2024年8月1日起停止所有在線課程的訪問服務。用戶在此日期后將無法訪問新的課程內容,但可以繼續觀看“課程表”中的歷史免費課程內容。進一步的消息顯示,騰訊課堂將在2024年10月1日全面停止運營,屆時所有平臺服務將全部終止。
現在不管是蘋果還是安卓,應用商店已經不能再下載騰訊課堂APP了。
回望當年,我也是每天下班回家都去看騰訊課堂,上面有很多免費的課程,足夠學習提升了,當然也有很多培訓班,會出售高階課程。疫情期間線上教育更是推向了頂峰。后來這兩年用的較少了,今天看到這個消息感覺還是挺突然的。
還是挺感謝騰訊課堂的,第二次跳槽成功就是每天下班沒事就在騰訊課堂上找課程學習。
最后對于用戶來說,騰訊課堂的下線可能會引起對在線教育行業未來發展的思考,同時也可能促使其他競爭者填補市場空缺或進行相應的業務調整。重要的是,無論騰訊課堂的未來如何發展,提供優質教育資源和服務的使命不會改變。