Java Instrumentation for URI类:添加依赖项会引发ClassNotFoundException



我已经插入了一个URI构造函数,将创建的URI写入日志发货器。Logshipper类是我的代理库的一部分,它既是maven依赖项,也是运行时Arg。

代理内部的Instrumentation使用ClassFileTransformer将代码行添加到该构造函数中。但是,当调用构造函数时,它会抛出一个ClassNotFoundException,其详细信息为:edu/overbeck/masterarbeit/agent/LogShipper。当我在ClassLoader中查看时,类是加载的。我的IntelliJ调试器的屏幕截图:![奇怪的错误][1]

为什么会发生这种情况?我的另一个插入指令的类,来自ApacheHTTP核心库的ContentLengthOutputStream,可以很好地与LogShipper配合使用。[1] :https://i.stack.imgur.com/vf8b4.png

这是一个类加载器问题-在这里得到了很好的回答和解释:从插入指令的方法调用自己的类时出现Java NoClassDefFoundError添加包含LogShipper类的AgentLib作为XBootclasspath有帮助。

最新更新