我检测了一个uri构造函数,将创建的uri写入logshipper。logshipper类是我的代理库的一部分,它既是maven依赖项又是运行时参数。
代理内部的插装使用classfiletransformer将代码行添加到该构造函数。但是,调用构造函数时,它会抛出一个classnotfoundexception,并显示detailmessage:edu/overbeck/masterarbeit/agent/logshipper。但是,当我查看类装入器时,类被装入了。我的intellij调试器截图:[奇怪的错误][1]
为什么会这样?我的另一个插装类,来自apachehttpcore库的contentlengthoutputstream,可以很好地与logshipper一起工作[1]: https://i.stack.imgur.com/vf8b4.png
1条答案
按热度按时间lyfkaqu11#
这是一个类加载器问题-在这里得到了很好的回答和解释:当从插入指令的方法中调用自己的类时,java noclassdeffounderror添加了我的agentlib,其中包含xbootclasspath帮助的logshipper类。