【问题标题】:Java Instrumentation for URI class: Adding a dependency throws ClassNotFoundExceptionURI 类的 Java 检测:添加依赖项会引发 ClassNotFoundException
【发布时间】:2020-12-11 19:41:32
【问题描述】:

我已经使用 URI 构造函数将创建的 URI 写入到 logshipper。 Logshipper 类是我的代理库的一部分,它既是 Maven 依赖项,也是运行时 Arg。

代理内部的 Instrumentation 使用 ClassFileTransformer 将代码行添加到该构造函数。但是,当调用构造函数时,它会抛出带有 detailMessage 的 ClassNotFoundException:edu/overbeck/masterarbeit/agent/LogShipper。当我查看 ClassLoader 时,Class 已加载。我的 IntelliJ 调试器的屏幕截图: ![奇怪的错误][1]

为什么会这样?我的另一个检测类,来自 Apache HTTP 核心库的 ContentLengthOutputStream,与 LogShipper 一起工作得很好。 [1]:https://i.stack.imgur.com/vf8b4.png

【问题讨论】:

    标签: java maven classloader classnotfoundexception instrumentation


    【解决方案1】:

    这是一个类加载器问题 - 在这里得到很好的回答和解释:Java NoClassDefFoundError when calling own class from instrumented method 添加包含 LogShipper 类的 AgentLib 作为 XBootclasspath 有帮助。

    【讨论】:

      猜你喜欢
      • 2016-04-23
      • 2015-01-03
      • 2012-09-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多