欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java替換jar包中class文件的完整步驟記錄

 更新時(shí)間:2025年05月07日 10:27:55   作者:bjzhang75  
這篇文章主要介紹了Java替換jar包中class文件的完整步驟,通過(guò)替換修改后的Java類(lèi)的class文件來(lái)更新java應(yīng)用版本,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下

在更新java應(yīng)用版本的運(yùn)維工作中,由于一些原因,開(kāi)發(fā)沒(méi)辦法給到完整的jar包,這個(gè)時(shí)候,就可以只將修改后的某個(gè)Java類(lèi)的class文件替換掉原來(lái)iar包中的class文件,重新啟動(dòng)服務(wù)即可:

1、將jar包和將要替換的class文件放到同一個(gè)目錄下;

2、查找jar包中xxxdemo.class文件所在的具體路徑

jar -tvf xxx.jar | grep xxx.class

3、將xxx.jar中指定的xxx.class解壓出來(lái)

jar -xvf xxx.jar  xxx/xxx/xxx/xxx/xxx/xxx.class(路徑為第2步的路徑結(jié)果)

4、將新的xxx.class文件放到第3步的路徑下(替換前備份原文件)

這里更換名字的方法模擬這一步,實(shí)際生產(chǎn)環(huán)境操作按需要放進(jìn)新的文件

5、重新打包jar

jar -uvf  xxx.jar xxx/xxx/xxx/xxx/xxx/xxx.class(路徑為第2步的路徑結(jié)果)

查看jar包里的文件已經(jīng)是新文件(如果是一樣名字的會(huì)被覆蓋處理):

6、重啟使用該jar包應(yīng)用(如有需要)。

7、替換jar包中的jar文件

前2個(gè)查找查找步驟同上,最后一步略有不同。如:

jar -uvf0 abc.jar BOOT-INF/lib/a.jar
##使用的是-uvf0而是不是-uvf

附:jar包如何使用命令替換class文件

話(huà)不多說(shuō),直接上命令:

# 1.檢索文件
jar -tvf Test-0.0.1-SNAPSHOT.jar | grep Test.class
# 2.取出文件
jar -xvf Test-0.0.1-SNAPSHOT.jar BOOT-INF/classes/com/test/Test.class
#3.替換文件
mv Test.class BOOT-INF/classes/com/test/Test.class
#4.打入jar包
jar -uvf Test-0.0.1-SNAPSHOT.jar BOOT-INF/classes/com/test/Test.class
#5.刪除冗余文件
rm -r BOOT-INF

腳本文件:

updateClass.sh

#!/bin/bash
# 動(dòng)態(tài)部署class腳本

className=`ls|grep .class$`
jarName=`ls|grep .jar$`	

if [ -z $className ]
then
    echo "No class file found."
    exit 1
fi

if [ -z $jarName ]
then
    echo "No jar file found."
    exit 1
fi

echo "The $className is replacing..."

fullPath=`jar -tvf $jarName | grep "/$className" | awk '{print $NF}'`

jar -xvf $jarName $fullPath
mv $className $fullPath
jar -uvf $jarName $fullPath
rm -r BOOT-INF

總結(jié)

到此這篇關(guān)于Java替換jar包中class文件的文章就介紹到這了,更多相關(guān)Java替換jar包c(diǎn)lass文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決mybatis三表連接查詢(xún)數(shù)據(jù)重復(fù)的問(wèn)題

    解決mybatis三表連接查詢(xún)數(shù)據(jù)重復(fù)的問(wèn)題

    這篇文章主要介紹了解決mybatis三表連接查詢(xún)數(shù)據(jù)重復(fù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • SpringBoot中webSocket實(shí)現(xiàn)即時(shí)聊天

    SpringBoot中webSocket實(shí)現(xiàn)即時(shí)聊天

    這篇文章主要介紹了SpringBoot中webSocket實(shí)現(xiàn)即時(shí)聊天,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java文件與IO流操作原理詳細(xì)分析

    Java文件與IO流操作原理詳細(xì)分析

    在java中提供有對(duì)于文件操作系統(tǒng)的支持,這個(gè)支持在java.io.File類(lèi)中進(jìn)行了定義,也就是說(shuō)在整個(gè)java.io包中File類(lèi)是唯一一個(gè)與文件本身操作有關(guān)的類(lèi)(創(chuàng)建,刪除,重命名)有關(guān)的類(lèi),而如果想要進(jìn)行File類(lèi)的操作,我們需要提供有完整的路徑支持,而后可以調(diào)用相應(yīng)的方法進(jìn)行處理
    2022-09-09
  • 使用Feign調(diào)用注解組件(實(shí)現(xiàn)字段賦值功能)

    使用Feign調(diào)用注解組件(實(shí)現(xiàn)字段賦值功能)

    這篇文章主要介紹了使用Feign調(diào)用注解組件(實(shí)現(xiàn)字段賦值功能),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • IDEA高效查看源碼的快捷鍵及小技巧

    IDEA高效查看源碼的快捷鍵及小技巧

    本篇文章這一部分的內(nèi)容主要為大家介紹了一些平時(shí)看源碼的時(shí)候常用的快捷鍵/小技巧!非常好用!掌握這些快捷鍵/小技巧,看源碼的效率提升一個(gè)等級(jí)
    2022-01-01
  • Spring?Boot解決循環(huán)依賴(lài)的過(guò)程詳細(xì)記錄

    Spring?Boot解決循環(huán)依賴(lài)的過(guò)程詳細(xì)記錄

    這篇文章主要介紹了Spring?Boot解決循環(huán)依賴(lài)的過(guò)程,Spring框架通過(guò)三級(jí)緩存機(jī)制解決循環(huán)依賴(lài)問(wèn)題,分別為singletonObjects、earlySingletonObjects和singletonFactories,需要的朋友可以參考下
    2024-09-09
  • 如何在?Spring?Boot?中使用?OpenAI?ChatGPT?API

    如何在?Spring?Boot?中使用?OpenAI?ChatGPT?API

    這篇文章主要介紹了如何在Spring?Boot中使用OpenAI?ChatGPT?API,我們探索了 OpenAI ChatGPT API 以生成對(duì)提示的響應(yīng),我們創(chuàng)建了一個(gè) Spring Boot 應(yīng)用程序,它調(diào)用 API 來(lái)生成對(duì)提示的響應(yīng),需要的朋友可以參考下
    2023-08-08
  • @RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)

    @RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)

    這篇文章主要介紹了@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java中mybatis和hibernate的用法總結(jié)

    java中mybatis和hibernate的用法總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于java中mybatis和hibernate的用法總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-01-01
  • JAVA正則表達(dá)式校驗(yàn)qq號(hào)碼的方法

    JAVA正則表達(dá)式校驗(yàn)qq號(hào)碼的方法

    Java作為一種開(kāi)發(fā)語(yǔ)言,有許多值得推薦的地方,但是它一直以來(lái)沒(méi)有自帶對(duì)正則表達(dá)式的支持。下面小編給大家?guī)?lái)了JAVA正則表達(dá)式校驗(yàn)qq號(hào)碼的方法,需要的朋友參考下吧
    2018-04-04

最新評(píng)論