weblogic启动期间的LinkageError

时间:2018-06-12 03:37:59

标签: java spring weblogic weblogic-10.x

当我将ear项目部署到weblogic时,在应用程序启动期间,LinkageError显示如下:

<Jun 11, 2018 5:31:00 PM IRDT> <Error> <WLSS.Setup> <BEA-331210> <Skip SIP related logic, because error occurs when parsing sip related annotations of "DSwar"
com.bea.wcp.sip.engine.server.setup.SipAnnotationParsingException: 
    at com.bea.wcp.sip.engine.server.setup.SipAnnotationData.<init>(SipAnnotationData.java:155)
    at com.bea.wcp.sip.util.DeploymentUtil.getOrCreateAnnotationData(DeploymentUtil.java:70)
    at com.bea.wcp.sip.util.DeploymentUtil.isSipModule(DeploymentUtil.java:96)
    at com.bea.wcp.sip.engine.server.SipServerTailModule$1.visit(SipServerTailModule.java:127)
    at com.bea.wcp.sip.engine.server.SipServerTailModule.visitAllContexts(SipServerTailModule.java:112)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.IncompatibleClassChangeError: Implementing class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
    Truncated. see log file for complete stacktrace
> 
<Jun 11, 2018 5:31:06 PM IRDT> <Error> <WLSS.Setup> <BEA-331210> <Skip SIP related logic, because error occurs when parsing sip related annotations of "TTMS"
com.bea.wcp.sip.engine.server.setup.SipAnnotationParsingException: 
    at com.bea.wcp.sip.engine.server.setup.SipAnnotationData.<init>(SipAnnotationData.java:155)
    at com.bea.wcp.sip.util.DeploymentUtil.getOrCreateAnnotationData(DeploymentUtil.java:70)
    at com.bea.wcp.sip.util.DeploymentUtil.isSipModule(DeploymentUtil.java:96)
    at com.bea.wcp.sip.engine.server.SipServerTailModule$1.visit(SipServerTailModule.java:127)
    at com.bea.wcp.sip.engine.server.SipServerTailModule.visitAllContexts(SipServerTailModule.java:112)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.springframework.ui.freemarker.FreeMarkerConfigurationFactory.setResourceLoader(Lorg/springframework/core/io/ResourceLoader;)V" the class loader (instance of weblogic/utils/classloaders/GenericClassLoader) of the current class, org/springframework/web/servlet/view/freemarker/FreeMarkerConfigurer, and the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) for interface org/springframework/context/ResourceLoaderAware have different Class objects for the type org/springframework/core/io/ResourceLoader used in the signature
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.privateGetPublicMethods(Class.java:2547)
    at java.lang.Class.getMethods(Class.java:1410)
    at com.bea.wcp.sip.engine.server.setup.SipAnnotationData.classAnnotationParsing(SipAnnotationData.java:344)
    Truncated. see log file for complete stacktrace
> 

weblogic的版本为10.3.6.0

2 个答案:

答案 0 :(得分:1)

这种冲突可能是因为你的某个应用程序在一个jar中有一个类(org / springframework / core / io / ResourceLoader),这个类与weblogic的嵌入jar(http://www.findjar.com/class/org/springframework/core/io/ResourceLoader.html)和类之一有冲突。同名。

答案 1 :(得分:0)

此问题是由于 JVM 永久代Perm Gen)中的空间不足。

setDomainEnv.sh 中的管理服务器的java选项中增加 Perm Gen 空间。

可以使用

根据要求调整大小

-XX:MaxPermSize -XX:PermSize

JVM 选项。

需要设置以下内容:

USER_MEM_ARGS=-Xms2048m -Xms2048m -XX:PermSize=512 -XX:MaxPermSize=1024

然后,尝试重新启动管理服务器

如果这些参数没有问题,那么

可以编辑

node.properties 文件来更改这些参数:

- SecureListener = false(by default is true)
- StartScriptEnabled = true 
- StopScriptEnabled = true