我在NetBeans平台应用程序中遇到以下链接错误,我在其中调用EJB在Weblogic服务器上运行。问题似乎是Oracle提供的wlfullclient.jar(Weblogic Client)和JDK中的rt.jar(使用JDK 6和7试过)包含一些相同的CORBA包。 wlfullclient.jar作为包装JAR包含在执行EJB调用的模块中。
我编写了一个独立的Java程序,它运行相同,运行正常。
任何帮助将不胜感激。
java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "weblogic.corba.utils.ValueHandlerImpl.readValue(Lorg/omg/CORBA/portable/InputStream;ILjava/lang/Class;Ljava/lang/String;Lorg/omg/SendingContext/RunTime;)Ljava/io/Serializable;" the class loader (instance of org/netbeans/StandardModule$OneModuleClassLoader) of the current class, weblogic/corba/utils/ValueHandlerImpl, and the class loader (instance of <bootloader>) for interface javax/rmi/CORBA/ValueHandler have different Class objects for the type org/omg/SendingContext/RunTime used in the signature
at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1963)
at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2001)
at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2266)
at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:40)
at weblogic.iiop.OutboundRequestImpl.flush(OutboundRequestImpl.java:125)
at weblogic.iiop.OutboundRequestImpl.sendReceive(OutboundRequestImpl.java:160)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at za.vsp.ejb.accesscontrol.AccessControl_IIOP_WLStub.queryRolePermissionsByUser(Unknown Source)
at za.vsp.bd.accesscontrol.AccessControlBDRemoteCache.queryRolePermissionsByUser(AccessControlBDRemoteCache.java:502)
at za.vsp.bd.accesscontrol.AccessControlBDRemoteCache.hasPermission(AccessControlBDRemoteCache.java:573)
at za.vsp.util.modules.RichClientModuleInstall$1.run(RichClientModuleInstall.java:351)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:337)
at za.vsp.util.modules.RichClientModuleInstall.testThatShit(RichClientModuleInstall.java:349)
at za.vsp.util.modules.RichClientModuleInstall.restored(RichClientModuleInstall.java:504)
at org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:426)
[catch] at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:366)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1025)
at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:318)
at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:254)
at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:294)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:172)
at org.netbeans.core.startup.Main.start(Main.java:308)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
at java.lang.Thread.run(Thread.java:662)
答案 0 :(得分:0)
我设法通过删除wlfullclient.jar并将其替换为Weblogic Application Server的/wlserver_10.3/server/lib目录中包含的最小wlclient.jar来解决此问题。我在其中一个项目模块中添加了wlclient.jar作为包装JAR。