亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過 jar 文件更新使用 DCEVM/Hotswap Agent?

如何通過 jar 文件更新使用 DCEVM/Hotswap Agent?

郎朗坤 2023-08-16 17:26:34
我正在使用 DCEVM 熱插拔代理將 java spring boot 應用程序作為 jar 文件運行。當我更改 jar 文件中的某些類文件時,應用程序不會重新加載這些更改。但是,如果我提取 jar 文件并將應用程序作為簡單的 java 類文件運行,將所有依賴項添加到類路徑(就像 IntelliJ Idea 所做的那樣),然后替換它成功重新加載的任何類文件。運行提取的 jar 文件:java -XXaltjvm=dcevm -javaagent:path/hot-swap/hotswap-agent-1.3.1-SNAPSHOT.jar=autoHotswap=true -Dspring.profiles.active=local -Dserver.port=8082 -classpath path/jdk1.8.0_191.jdk/Contents/Home/jre/lib/charsets.jar:--jdk-lib-jars:./path/classes:..other-jar-file-path com.company.app.App運行上述命令后,如果我進行任何更改并重新編譯,然后替換更新的類文件,則會檢測到更改,并且我的應用程序會反映這些更改。HOTSWAP AGENT: 15:35:55.349 RELOAD (org.hotswap.agent.config.PluginManager) - Reloading classes [com.company.controller.HealthController] (autoHotswap)我得到上面的日志,它告訴我該類已重新加載。一切正常。運行jar文件:java -XXaltjvm=dcevm -javaagent:path/hot-swap/hotswap-agent-1.3.1-SNAPSHOT.jar=autoHotswap=true -Dspring.profiles.active=local -Dserver.port=8081 -jar app.jar運行后如果我使用以下命令更新 jar 文件:jar uf app.jar path/HealthController.classjar 文件已更新,但更改未反映,并且沒有生成日志。
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

HotswapAgent 不檢測 jar 文件內的類修改。您可以使用 extraClasspath 配置參數代替它。



查看完整回答
反對 回復 2023-08-16
  • 1 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號