ClassNotFoundException:org.objectweb.jotm.SubCoordinator_Stub
ClassNotFoundException: org.objectweb.jotm.SubCoordinator_Stub
我的应用程序日志中低于 JOTM 异常。我没有发现任何因此而中断的功能。我试图弄清楚它从哪里开始并最终找到 0 个启动此错误的自定义代码。除此之外,我尝试从 lib 目录(ant
项目)中替换 jotm jar(com.springsource.org.objectweb.jotm-2.0.10.jar
),但我仍然无法摆脱这个错误。 有没有人以前有过相同或相似的堆栈跟踪并克服了它?
请分享任何有用的想法以消除此错误消息。
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
很难找出确切原因,但 ClassNotFoundException 很可能意味着您的项目的运行时依赖项配置不正确。某些库代码尝试通过名称加载 class,但 class 不在 class 路径 .
中
接下来的步骤将有助于解决它:
1) 找到包含 SubCoordinator_Stub 的 jar,并确保此 jar 包含在项目的 runtime 依赖项中。
2) 如果第一个选项已经完成但没有帮助,您的应用程序中可能有不同的类加载器。找出哪个用于加载 class 并尝试理解为什么它没有依赖性。
最终答案:
丢失的 jar 是 jotm-core.jar,可以使用 google 搜索轻松找到它。但是,我错过了这个,因为我认为 jotm 是包含所有内容的独立库,这是错误的。
我的应用程序日志中低于 JOTM 异常。我没有发现任何因此而中断的功能。我试图弄清楚它从哪里开始并最终找到 0 个启动此错误的自定义代码。除此之外,我尝试从 lib 目录(ant
项目)中替换 jotm jar(com.springsource.org.objectweb.jotm-2.0.10.jar
),但我仍然无法摆脱这个错误。 有没有人以前有过相同或相似的堆栈跟踪并克服了它?
请分享任何有用的想法以消除此错误消息。
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
很难找出确切原因,但 ClassNotFoundException 很可能意味着您的项目的运行时依赖项配置不正确。某些库代码尝试通过名称加载 class,但 class 不在 class 路径 .
中接下来的步骤将有助于解决它:
1) 找到包含 SubCoordinator_Stub 的 jar,并确保此 jar 包含在项目的 runtime 依赖项中。
2) 如果第一个选项已经完成但没有帮助,您的应用程序中可能有不同的类加载器。找出哪个用于加载 class 并尝试理解为什么它没有依赖性。
最终答案: 丢失的 jar 是 jotm-core.jar,可以使用 google 搜索轻松找到它。但是,我错过了这个,因为我认为 jotm 是包含所有内容的独立库,这是错误的。