没有合适的资源?快使用搜索试试~ 我知道了~
Firebasky#Java#解决agent中tools加载的问题1
需积分: 0 0 下载量 60 浏览量
2022-07-25
14:32:09
上传
评论
收藏 4KB MD 举报
温馨提示
试读
因为我们在利用agent中的运行中attach pid需要利用到tools.jar的类不过默认java是不加载tools.jar类的所以我们需要解决它解决方法是
资源推荐
资源详情
资源评论
# 解决agent中tools加载的问题
为什么有这个文章?因为我们在利用agent中的运行中attach pid需要利用到tools.jar的类不过默认java是不加载tools.jar类的所以我们需要解决它
解决方法是学大师傅们的方法的。
## 方法一
URLClassLoader去加载tools.jar路径并且将需要的类添加到map中,然后通过反射去实现。
代码:https://gist.github.com/Firebasky/c1efd9dc7eb964a77cb788c170a8598f
```java
java.io.File toolsPath = new java.io.File(System.getProperty("java.home").replace("jre", "lib") + java.io.File.separator + "tools.jar");
java.net.URL url = toolsPath.toURI().toURL();
//URL url1 = new URL("file:C:\\Program Files\\java\\jdk1.8.0_201\\lib\\tools.jar");
URLClassLoader urlClassLoader = new URLClassLoader(new URL[] { url }, Thread.currentThread().getContextClassLoader());
```
## 方法二
自定义加载器
https://xz.aliyun.com/t/10075#toc-4
>自定义的classLoader。但是我们都知道classLoader在loadClass的时候采用双亲委托机制,也就是如果系统中已经存在一个类,即使我们用自定义的classLoader去loadClass,也会返回系统内置的那个类。但是如果我们绕过l
点击阅读更多
资源评论
weixin_35780426
- 粉丝: 20
- 资源: 286
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功