我有一个基于EJB 2.1的应用程序,部署在Weblogic 9.2(Java 5)中,调用部署在Weblogic 12(Java 7)中的远程EJB 3。我已将wlfullclient.jar添加到类路径中,并抛出以下异常:
Caused by: java.lang.NoSuchMethodError: weblogic.kernel.KernelStatus.isThinIIOPClient()Z
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.readObject(RemoteBusinessIntfProxy.java:185)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:195)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:565)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:191)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:221)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at weblogic.jndi.internal.ServerNamingNode_923_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:379)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
weblogic.kernel.KernelStatus
中存在 wlfullclient.jar
并且它具有isThinIIOPClient
方法,但该类也存在于weblogic.jar
中,并且它没有该方法。
我尝试使用wlthint3client.jar
并遇到了同样的错误。
有人可以帮我解决一下如何解决这个问题吗?
答案 0 :(得分:0)
我认为这个问题可以通过在2个或更多的jar中删除相同的类,或者将错误的wlfullclient.jar放入项目中来解决。您应该尝试从库中删除该jar。
的评论解决了这个问题" weblogic.kernel.KernelStatus包含在许多JAR文件中,例如$ MIDDLEWARE_HOME / modules / com.bea.core.weblogic.workmanager_1.9.0.0.jar,wlclient.jar等。
最有可能在你的类路径中你选错了
把好的罐子组合在一起是一件令人沮丧的事情......不要放弃......并且记住,正式无法对给定的JAR进行扫描的顺序进行排序上课,所以如果你在2个罐子里有同一个班级,那么你就是皇室成员了。"