Я пытаюсь использовать classmexer-0.3.jar с tomcat, чтобы получить размеры объектов для моего веб-приложения. Однако при вызове метода я получаю следующее сообщение об ошибке:
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)
Что я могу сделать, чтобы исправить это? Я предполагаю, что мне нужна банка с классом TransactionManager, но я не знаю, какой именно.
Мой проект построен с использованием Maven в eclipse для разработки и запускается с сервера unix с помощью Jenkins.
Ваше здоровье,
Алексей Синий.
Изменить: похоже, теперь работает с более простыми объектами, которые предполагают, что настройка правильная. Я думаю, что проблема возникла при вызове MemoryUtil.deepMemoryUsageOf(Obj), где obj содержит Google LoadingCache. Кажется, я, возможно, упустил какой-то источник для этого, есть идеи о том, что это за источник?