arthas热部署

更详细步骤 IDEA打开XXX.java文件所对应的XXX.class在资源管理器中_二木成林的博客-CSDN博客

arthas热部署文件时,需要找到.java文件对应的.class文件,如何通过快捷键快速定位一个.java文件对应的.class文件。

快捷键设置

IDEA提供了External Tools来帮我们达到这个目的。在File——>Settings——>Tools——>External Tools下。
在这里插入图片描述

点击"+",添加外部工具,在出现的面板中做如下设置:

在这里插入图片描述

各参数具体内容如下:

参数名
Name查看class文件。名称随意即可。
Description查看.java文件所对应的.class文件。描述随意即可。
Programexplorer.exe (复制出来看看有没有空格,需要删除空格)
Arguments/select,"$OutputPath$\$FileDirRelativeToSourcepath$\$FileNameWithoutExtension$.class"
Working directory$ProjectFileDir$

设置一个快捷键来更快速打开。打开File——>Settings——>Keymap——>External Tools,找到"查看class文件",鼠标右键单击,出现面板选择Add Keyboard Shortcut。

在这里插入图片描述

然后直接在键盘上按你想要设置的快捷键即可,比如Ctrl+Q。

注意:.java文件必须生成对应的.class文件,否则只会打开资源管理器而不会跳转。

热部署

在需要的热部署文件中按下设置的快捷键(Ctrl+Q),会打开.class文件所在的目录

在这里插入图片描述

将需要热部署的.class文件拖入到xftp中

在这里插入图片描述

方式一

执行命令

java -jar arthas-boot.jar

输入jar文件名对应的数字

在这里插入图片描述

执行命令

retransform /temp/OrderPlatformSourceEnum.class

在这里插入图片描述

方式二

如果使用的是FinalShell
记住命令 将xxx.jar修改为自己需要的模块即可

cd /temp && java -jar arthas-boot.jar  `ps -ef|grep xxx.jar |grep -v grep|awk '{print $2}'`

这个命令是一个在Linux或类Unix系统中运行的命令,它执行了一系列操作,主要用于与Java应用程序的管理和调试相关。

让我们一步一步解释这个命令:

  1. cd /temp: 这是一个cd命令,用于改变当前工作目录。它将当前工作目录更改为/temp,意味着接下来的命令将在这个目录中执行。

  2. &&: 这是逻辑与运算符,它用于将多个命令连接在一起,只有前一个命令成功执行后,才会执行后面的命令。

  3. java -jar arthas-boot.jar: 启动arthas命令

  4. `` (反引号,也称为backticks):这个符号用于执行嵌套命令,并将嵌套命令的输出作为参数传递给外部命令。

  5. ps -ef|grep xxx.jar |grep -v grep|awk '{print $2}': 这是嵌套命令,它执行了以下操作:

    • ps -ef: 这个命令用于列出当前系统上所有的进程。
    • |(管道符号):它用于将一个命令的输出传递给另一个命令的输入。
    • grep xxx.jar: 这个命令用于过滤包含"xxx.jar"字符串的行,通常用于找到与这个Java应用程序相关的进程。
    • grep -v grep: 这个命令用于排除掉包含"grep"字符串的行,以防止将自身的grep命令匹配出来。
    • awk '{print $2}': 这个命令用于提取匹配行中的第二个字段,即进程的PID(进程ID)。

最终的效果是,ps -ef命令列出所有进程,然后通过管道操作将结果传递给一系列的过滤和提取命令,最终获得了与"xxx.jar"相关的进程的PID。这个PID被传递给java -jar arthas-boot.jar命令,用于管理或调试该Java应用程序。整个命令的目的是找到并操作指定Java应用程序的进程。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值