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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

修改jar包中的配置文件

發(fā)布時間:2024/8/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修改jar包中的配置文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

修改jar包中的配置文件

  • 場景描述
  • 難點分析
  • 幾種嘗試
    • 方法一:vim修改
    • 方法二:使用win
    • 方法三:先提取后替換
    • 方法四:在linux解壓后vim修改并重新打包
  • 最終方案
  • 補充
    • Over!

場景描述

項目已封板,卻突然被告知要修改與某平臺的交互參數(shù)。最簡單的方式就是修改代碼,并重寫丄包。經(jīng)過幾番確認(rèn),這種非必須(ps:他們覺得可以直接修改jar包or war包里配置文件)的修改不允許修改master,被無情拒絕了。只見二十幾個項目組都在修改配置文件。內(nèi)心有句話不知當(dāng)講不當(dāng)講~~

難點分析

本次與一般的情況不同。項目使用maven管理依賴,并將代碼按業(yè)務(wù)劃分了幾個module,并且部署時是jar包部署。本次需要修改的配置文件。(file.properties )和啟動類不在同一個module下,即 file.properties 在項目部署jar( app.jar )里面的一個jar包( pack.jar )里面,被套了兩層。
普通的一層jar可直接vim修改,見最終方案里的修改file.properties部分

幾種嘗試

方法一:vim修改

先嘗試vi修改,不知是編碼還是其他原因,四個環(huán)境中有兩個環(huán)境為亂碼,無法修改。
后嘗試vim進(jìn)行修改,進(jìn)入app.jar后,無法直接編輯 pack.jar 。
故,失敗!

方法二:使用win

將jar包下載至win解壓一次得到 pack.jar,再使用壓縮軟件對 file.properties 進(jìn)行編輯,然后替換原 pack.jar,得到新的app.jar包。
運行最新jar包時,報錯顯示 pack.jar 包被壓縮過,無法運行該jar包。
故,失敗!

方法三:先提取后替換

使用 jar xf 項目部署jar pack.jar 命令獲取到pack.jar后,
再使用 vim pack.jar 對 file.properties 進(jìn)行修改,
最后使用 jar uf 項目部署jar pack.jar 命令替換原來的pack.jar,
激動人心的時刻到了!好吧,還是啟動失敗,再次報錯顯示 pack.jar 包被壓縮過,無法運行該jar包。
故,失敗!

方法四:在linux解壓后vim修改并重新打包

根據(jù)二、三的錯誤信息,決定解決這個隱藏的壓縮操作。
選擇在linux下直接解壓app.jar后,再使用vim對pack.jar進(jìn)行修改,編輯file.properties文件,最后重新打包。
這次成功了!!!!

最終方案

如上方法四中所述,以下為相關(guān)命令:

unzip app.jar // linux 環(huán)境解壓人app.jar rm -rf app,jar // 刪除原app.jar cd BOOT-INF/lib/ // 進(jìn)入pack.jar所在目錄 vim pack.jar // 進(jìn)入pack.jar /file.properties // 回車兩次后進(jìn)入file.properties// 此處省略文本修改步驟,:d 就退出jar了 jar cvfm0 app.jar ./META-INF/MANIFEST.MF ./ // 該步驟很重要!!!

通過以上步驟就得到了最新的app.jar,運行成功了!!!

補充

解釋一下最后重新打包的命令

jar cvfm0 app.jar ./META-INF/MANIFEST.MF ./

cvf 重新打包
m0 不壓縮
./META-INF/MANIFEST.MF 選擇原來的manifest文件,這里面記載一些啟動參數(shù),這個東西是必不可少的。如果打包時沒有指定,則會生成一個默認(rèn)的,會無法啟動!所以要指定為原來的manifest文件。

ps:linux只會基本部署項目的操作,有錯誤的地方還望海涵。
歡迎大家提供新的方法或思路,一起學(xué)習(xí)啦~~~
轉(zhuǎn)載請標(biāo)明出處哈

Over!

總結(jié)

以上是生活随笔為你收集整理的修改jar包中的配置文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。