0

我正在使用检测 Web 应用程序字节码的 Salve Dependency Injection 库。我在 Tomcat VM 选项中指定了 -javaagent 并将其指向 Salve 代理 jar。

代理 jar 被加载,但随后抛出 java.lang.NoClassDefFoundError 无法找到位于我的 Web 应用程序的 WEB-INF/lib 文件夹中的其他 Salve jar 中的类。

我可以通过将这些 JAR 放在 Tomcat/endorsed 文件夹中来解决这个问题。但是,其中一些 jar 依赖于第三方库,例如 Spring 和 servlet-api.jar。因此,我也被迫将所有这些依赖项放在 Tomcat/endorsed 中。

有人可以建议一种更好的方法来处理 Tomcat javaagent 的依赖项吗?

谢谢。

4

3 回答 3

0

这听起来很奇怪。代理通常不依赖于其他类,因为这会使它们完全无用。我认为你误解了这个错误。依赖项是否可能来自已检测的类,而错误的类最终会被检测?

于 2010-03-28T07:20:05.813 回答
0

药膏?怎么回事?使用 AspectJ。

“依赖于 Spring 的依赖注入框架” - o_O ?!

于 2010-04-16T06:11:06.063 回答
0

Salve 库由几个 JAR 组成。其中一些依赖于第三方库,例如 Spring。我最终将这些 JAR 从 tomcat/endorsed 移动到我的 webapp 的 WEB-INF/lib。我的发现和最终的工作目录结构记录在这里

于 2011-06-01T15:47:40.400 回答