Java URI 检测 class:添加依赖项会引发 ClassNotFoundException
Java Instrumentation for URI class: Adding a dependency throws ClassNotFoundException
我已经使用 URI 构造函数将创建的 URI 写入 logshipper。 Logshipper class 是我的代理库的一部分,它既是 Maven 依赖项又是运行时参数。
Agent 中的 Instrumentation 使用 ClassFileTransformer 将代码行添加到该构造函数。但是,当调用构造函数时,它会抛出 ClassNotFoundException with detailMessage: edu/overbeck/masterarbeit/agent/LogShipper。但是,当我查看 ClassLoader 时,Class 已加载。我的 IntelliJ 调试器的屏幕截图:
![奇怪的错误][1]
为什么会这样?我的另一个工具 class,来自 Apache HTTP 核心库的 ContentLengthOutputStream,可以与 LogShipper 一起正常工作。
[1]: https://i.stack.imgur.com/vf8b4.png
这是一个 class 加载器问题 - 在这里回答和解释得很好:Java NoClassDefFoundError when calling own class from instrumented method
添加我的包含 LogShipper class 的 AgentLib 作为 XBootclasspath 帮助。
我已经使用 URI 构造函数将创建的 URI 写入 logshipper。 Logshipper class 是我的代理库的一部分,它既是 Maven 依赖项又是运行时参数。
Agent 中的 Instrumentation 使用 ClassFileTransformer 将代码行添加到该构造函数。但是,当调用构造函数时,它会抛出 ClassNotFoundException with detailMessage: edu/overbeck/masterarbeit/agent/LogShipper。但是,当我查看 ClassLoader 时,Class 已加载。我的 IntelliJ 调试器的屏幕截图: ![奇怪的错误][1]
为什么会这样?我的另一个工具 class,来自 Apache HTTP 核心库的 ContentLengthOutputStream,可以与 LogShipper 一起正常工作。 [1]: https://i.stack.imgur.com/vf8b4.png
这是一个 class 加载器问题 - 在这里回答和解释得很好:Java NoClassDefFoundError when calling own class from instrumented method 添加我的包含 LogShipper class 的 AgentLib 作为 XBootclasspath 帮助。