ClassNotFoundException: org.objectweb.jotm.SubCoordinator_Stub
Я получаю исключение ниже JOTM в журнале приложений. Я не нашел никакой функциональности, которая тормозит из-за этого. Я попытался выяснить, откуда он начинается, и в итоге нашел 0 пользовательских кодов, которые запускают эту ошибку. Кроме этого я попытался заменить JOTM JAR (com.springsource.org.objectweb.jotm-2.0.10.jar
) из каталога lib (ant
проект) но я так и не смог избавиться от этой ошибки. Есть ли кто-нибудь, кто имел такой же или подобный вид трассировки стека и преодолел его?
Пожалуйста, поделитесь любой полезной мыслью, чтобы избавиться от этого сообщения об ошибке.
2017-02-16 14:41:56,524 [ TransactionImpl.java:JotmBatch:769] - TransactionImpl.timeoutExpired
DEBUG [JotmBatch] (TransactionImpl.java:980) - make subcoordinator
2017-02-16 14:41:56,524 [ TransactionImpl.java:JotmBatch:980] - make subcoordinator
ERROR [JotmBatch] (TransactionImpl.java:988) - new SubCoordinator raised exception:
java.rmi.StubNotFoundException: Stub class not found: org.objectweb.jotm.SubCoordinator_Stub; nested exception is:
java.lang.ClassNotFoundException: org.objectweb.jotm.SubCoordinator_Stub
at sun.rmi.server.Util.createStub(Util.java:297)
at sun.rmi.server.Util.createProxy(Util.java:142)
at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:197)
at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:179)
at org.objectweb.carol.rmi.jrmp.server.JUnicastServerRef.exportObject(JUnicastServerRef.java:124)
at org.objectweb.carol.rmi.jrmp.server.JUnicastRemoteObject.exportObjectR(JUnicastRemoteObject.java:126)
at org.objectweb.carol.rmi.jrmp.server.JUnicastRemoteObject.exportObject(JUnicastRemoteObject.java:103)
at org.objectweb.carol.rmi.multi.JrmpPRODelegate.exportObject(JrmpPRODelegate.java:96)
at org.objectweb.carol.rmi.multi.MultiPRODelegate.exportObject(MultiPRODelegate.java:90)
at javax.rmi.PortableRemoteObject.exportObject(PortableRemoteObject.java:100)
at javax.rmi.PortableRemoteObject.<init>(PortableRemoteObject.java:84)
at org.objectweb.jotm.SubCoordinator.<init>(SubCoordinator.java:201)
at org.objectweb.jotm.TransactionImpl.makeSubCoord(TransactionImpl.java:985)
at org.objectweb.jotm.TransactionImpl.timeoutExpired(TransactionImpl.java:788)
at org.objectweb.jotm.TimerEvent.process(TimerEvent.java:103)
at org.objectweb.jotm.TimerManager.batch(TimerManager.java:230)
at org.objectweb.jotm.Batch.run(TimerManager.java:87)
Caused by: java.lang.ClassNotFoundException: org.objectweb.jotm.SubCoordinator_Stub
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.rmi.server.Util.createStub(Util.java:292)
... 16 more
1 ответ
Трудно определить точные причины, но ClassNotFoundException, скорее всего, означает, что зависимости времени выполнения вашего проекта не настроены должным образом. Некоторый библиотечный код пытается загрузить класс по его имени, но класс не находится в пути к классам.
Следующие шаги помогут решить:
1) Найдите jar, который содержит SubCoordinator_Stub и убедитесь, что этот jar включен в зависимости времени выполнения вашего проекта.
2) Если первый вариант уже сделан, но он не помогает, возможно, в вашем приложении могут быть разные загрузчики классов. Выясните, какой из них используется для загрузки класса, и попытайтесь понять, почему у него нет зависимости.
Окончательный ответ: отсутствующим jar-файлом был jotm-core.jar, который легко найти с помощью поиска в Google. Однако я упустил это, потому что я думал, что jotm - это отдельная библиотека, которая включает в себя все, что не так.