1. 程式人生 > >Linux中修改jar包中的配置檔案

Linux中修改jar包中的配置檔案

打包以及修改jar包

cd genesys_data_etl
mvn clean package -Poffline -Dmaven.test.skip=true
日誌如下:
[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ genesys_data_etl ---
[INFO] Building jar: /Users/xx/IdeaProjects/genesys_data_etl/target/genesys_data_etl-0.0.1-SNAPSHOT.jar
生成jar包
此時可以通過命令
java -jar genesys_data_etl-0.0.1-SNAPSHOT.jar 
執行jar包。


但是要修改jar包中的配置檔案怎麼辦呢?

方式一 通過vim命令直接修改儲存jar。超方便。




1.通過vim命令直接編輯jar
vim xxx.jar 該命令首先會列出全部檔案,可以通過輸入/abc來搜尋,定位到對應的abc檔案後回車進入配置檔案內進行編輯,:wq儲存。



方式二 通過jar命令替換jar包中的檔案(也可新增)


1.列出jar包中的檔案清單
jar tf genesys_data_etl-0.0.1-SNAPSHOT.jar


2.提取出內部jar包的指定檔案
jar xf genesys_data_etl-0.0.1-SNAPSHOT.jar BOOT-INF/classes/realtime/t_ivr_data_bj.json


3.然後可以修改檔案
vim BOOT-INF/classes/realtime/t_ivr_data_bj.json


4.更新配置檔案到內部jar包.(存在覆蓋,不存在就新增)
jar uf genesys_data_etl-0.0.1-SNAPSHOT.jar BOOT-INF/classes/realtime/t_ivr_data_bj.json      


4.1更新內部jar包到jar檔案
jar uf genesys_data_etl-0.0.1-SNAPSHOT.jar 內部jar包.jar     


5.可以檢視驗證是否已經更改
vim genesys_data_etl-0.0.1-SNAPSHOT.jar




方式三 解壓jar包,修改後重新打包jar



1.解壓
unzip genesys_data_etl-0.0.1-SNAPSHOT.jar 
2.移除jar包,最好備份
rm genesys_data_etl-0.0.1-SNAPSHOT.jar
3.重新打包
jar -cfM0 new-genesys_data_etl-0.0.1-SNAPSHOT.jar *
或者
jar -cvfm0 genesys_data_etl-0.0.1-SNAPSHOT.jar ./META-INF/MANIFEST.MF ./
4.執行
java -jar new-genesys_data_etl-0.0.1-SNAPSHOT.jar


jar命令引數:
-c 建立新的存檔
-f 指定存檔檔名
-M 不配置配置清單,這樣還可以使用maven生成的配置清單也就是MANIFEST.MF
-0 不進行壓縮,如果壓縮會有問題
-m 指定清單檔案
-t 列出歸檔目錄
-x 從檔案中提取指定的 (或所有) 檔案 
-u 更新現有的歸檔檔案 
-v 在標準輸出中生成詳細輸出 




Linux下如何在不解壓jar包檢視或修改配置檔案
https://jingyan.baidu.com/article/91f5db1b1b66a41c7e05e36c.html
更新jar包裡的配置檔案
https://www.cnblogs.com/dayou123123/p/6845432.html
修改jar包中的配置檔案
https://blog.csdn.net/young_kim1/article/details/50482398 --------------------- 本文來自 daydayupzzc 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/daydayupzzc/article/details/80816529?utm_source=copy

相關推薦

Linux修改jar配置檔案

打包以及修改jar包 cd genesys_data_etl mvn clean package -Poffline -Dmaven.test.skip=true 日誌如下: [INFO] --- maven-jar-plugin:2.6:jar (default-jar

修改jar配置檔案

打包以及修改jar包 cd genesys_data_etl mvn clean package -Poffline -Dmaven.test.skip=true 日誌如下: [INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ genesys_

SpringBoot 使引用jar配置檔案生效

場景: 一個由多模組構成的spring boot maven專案,有A,B,C三個子專案,也就是三個jar包,其中A中寫了資料庫底層mapper,所以被B和C中引用。 問題: 為了方便,資料庫的配置想直接寫在A模組中的yaml檔案中,這樣在B/C模組中的yaml檔案中就不必再寫資料庫連線資訊了

修改jarclass檔案

某日,想要更改jar包中的某個class檔案,有無rar無法解壓jar檔案,故找到如下方式進行操作 1、解壓某個jar包:在需要解壓的jar包目錄下,開啟命令列(cmd),輸入如下命令,輸入:C:\jar>jar xf lm.jar 沒有任何反應就表示解壓成功。 2、反編譯class檔案,相同路徑新

application.properties多環境配置檔案jar外部配置檔案配置項加密、程式配置使用

一、簡介 spring boot專案application.properties檔案存放及使用介紹 二、方法一多環境配置檔案 我們一般都會有多個應用環境,開發環境、測試環境、生產環境,各個環境的配置會略有不同,我可以根據這個建立多份配置檔案,由主配置檔案來控制讀取那個子配置 建立spring boot專案

如何修改jar的class檔案

1、把X.jar包中的class用jd-gui、luyten反編譯得到原始碼xxx.Java 2、javac -cp A.jar;B.jar;C.jar xxx.java 得到修改後的xxx.class檔案 (其中A、B、C是依賴jar包,一般直接依賴一個原始解壓的X.

如何修改jar的class檔案

1、把X.jar包中的class用jd-gui、luyten反編譯得到原始碼xxx.java 2、javac -cp A.jar;B.jar;C.jar xxx.java 得到修改後的xxx.class檔案 (其中A、B、C是依賴jar包,一般直接依賴一個原始解壓的X.ja

可執行jar配置檔案找不到,看這裡

獲取部署的路徑 String ProjectPath=XXX.class.getProtectionDomain().getCodeSource().getLocation().getPath(); 這個比其他的都好用 public static String getC

springmvc 專案完整示例04 整合mybatis mybatis所需要的jar mybatis配置檔案 sql語句 mybatis應用

百度百科: MyBatis 本是apache的一個開源專案iBatis, 2010年這個專案由apache software foundation 遷移到了google code,並且改名為MyBatis 。2013年11月遷移到Github。 iBATIS一詞來源於“internet”和“abatis”

使用maven給spring專案打可直接執行的jar配置檔案內建外接的打法)

從網上看過許多打jar包的例子,大多是將配置檔案打進jar包的。經過本人一番研究,終於搞清楚了怎樣將jar包的配置檔案外接。 廢話不說,直接上spring的pom.xml的配置檔案。 <project xmlns="http://maven.apache.org/

maven 打jar 分開配置檔案

<build><plugins><plugin><groupId>org.springframework.boot</groupId><

Linux修改jar、zip等檔案內的檔案

看到很多同事在Linux環境下修改jar包內的文字檔案或zip中的文字檔案時,經常是先把jar包或zip包下載下來,然後修改,再上傳。其實Linux針對此類檔案提供了相應的操作功能。 平時修改Linxu檔案時使用vi或vim命令來修改。其實修改jar包或zip

java實現:對jar配置檔案修改

注:只修改檔案,其他會被清空  package com.mtpc.admin.util; import java.io.*; import java.util.*; import java.util.jar.JarEntry; import java.util.jar.J

SpringBoot實踐-匯入jar配置檔案

事件起因:開發的專案需要依賴一個本地jar包,無法通過maven直接下載;而這個jar包中含有配置檔案,在配置檔案中定義了spring的bean,而我的專案需要用到這個bean。 開發工具:IDEA JDK版本:1.7 使用框架:SpringBoot、SpringMVC 解決過程

檢視與修改位元組碼,從而實現替換他人jarclass檔案的目的

一、檢視二進位制位元組碼檔案的方式: 1.通過cmd命令:javap -v ClassA 2.通過jclasslib工具 二、將Android的apk中的dex反編成smail檔案,直接修改smail檔案後再回編成dex; 三、修改二進位制位元組碼檔案的方式: 1.反編

有關打包成可執行jar後引用jar配置檔案問題

一 問題由來 有時候我們做一些專案時,需要將一些配置資訊寫入配置檔案中,以供呼叫。比如說這樣: 如果我們需要在Demo.java中讀取config.txt這個檔案中的配置資訊,在這種工程目錄下是可以使用File來讀取的,但是打包成jar後,使用File將不能讀取到config.txt了,除非將這個配

曹工雜談:Linux伺服器上,Spring Boot 原地修改 jar 配置檔案/替換class檔案,免去重複上傳的麻煩

一、前言 相信很多同學有這樣的需求,現在很多公司都有多地的研發中心,經常需要跨地區部署,比如,博主人在成都,但是伺服器是北京的。一般城市間網路都不怎麼好,上傳一個幾十兆的jar包那是真的慢,別說現在微服務架構下,動輒兩位數的fat jar。這裡說的jar,就是spring boot專案打出來的fat jar

【轉】Maven項目中將配置文件打包到jar

int clas sta 參考 AR blog views red tom 參考博客:http://blog.csdn.net/ciedecem/article/details/10382275 問題: 項目中需要用到從文件中加載json數據,如圖放在co

Linux 網路相關的那些配置檔案

/etc/networks   機器所連線的網路中那些可以訪問的網路名和網路地址   /etc/protocols   列舉了當前可用的協議名稱   /etc/resolv.conf   DNS伺服器資訊

Spring boot 讀取jarresources下的檔案

package com.jiankunking.elasticsearch.extension.util; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core