我正在尝试将classmexer-0.3.jar与tomcat一起使用,以获取我的Web应用程序的对象大小。 但是,当调用该方法时,我收到以下错误消息:
java.lang.NoClassDefFoundError: Ljavax/transaction/TransactionManager;
java.lang.Class.getDeclaredFields0(Native Method)
java.lang.Class.privateGetDeclaredFields(Class.java:2308)
java.lang.Class.getDeclaredFields(Class.java:1760)
com.javamex.classmexer.MemoryUtil.deepMemoryUsageOf0(MemoryUtil.java:197)
com.javamex.classmexer.MemoryUtil.deepMemoryUsageOf(MemoryUtil.java:104)
com.javamex.classmexer.MemoryUtil.deepMemoryUsageOf(MemoryUtil.java:80)
我该怎么做才能解决这个问题? 我假设我需要一个带有类事务管理器的罐子,但我不知道是哪一个。
我的项目是在 eclipse 中使用 Maven 构建的,并使用 Jenkins 从 unix 服务器运行。
干杯
阿列克谢蓝。
编辑:看起来现在正在为更基本的对象工作,这表明设置是正确的。 我认为这个问题是在调用 MemoryUtil.deepMemoryUsageOf(Obj) 时引起的,其中 obj 包含一个 Google LoadCache。 看来我可能错过了一些来源,关于那个来源可能是什么的任何想法?
使用此服务:http://findjar.com/class/javax/transaction/TransactionManager.html
这对于查找依赖项非常有帮助。