简体   繁体   English

Tomcat 8 java.lang.LinkageError:加载程序约束冲突

[英]Tomcat 8 java.lang.LinkageError: loader constraint violation

I am deploying a web service (which uses METRO 2.0 library and includes it in the war file) on tomcat with security manager enabled 我在启用了security manager tomcat上部署了Web服务(使用METRO 2.0库并将其包含在war文件中)

-Djava.security.manager
-Djava.security.policy=C:\apache-tomcat-8.5.6\conf\catalina.policy

and I am getting the following exception 我收到以下异常

    SEVERE [localhost-startStop-1] 
 com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized 
    WSSERVLET11: failed to parse runtime descriptor: java.lang.LinkageError: loader 
    constraint violation: loader (instance of 
    org/apache/catalina/loader/ParallelWebappClassLoader) previously initiated loading for a 
    different type with name "javax/xml/bind/annotation/XmlNsForm"
     java.lang.LinkageError: loader constraint violation: loader (instance of 
    org/apache/catalina/loader/ParallelWebappClassLoader) previously initiated loading for a 
    different type with name "javax/xml/bind/annotation/XmlNsForm"
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal
    (WebappClassLoaderBase.java:2268)
        at org.apache.catalina.loader.WebappClassLoaderBase
    $PrivilegedFindClassByName.run(WebappClassLoaderBase.java:155)
        at org.apache.catalina.loader.WebappClassLoaderBase
    $PrivilegedFindClassByName.run(WebappClassLoaderBase.java:144)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.loader.WebappClassLoaderBase.findClass
    (WebappClassLoaderBase.java:809)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass
    (WebappClassLoaderBase.java:1254)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass
    (WebappClassLoaderBase.java:1119)
        at com.sun.xml.bind.v2.model.impl.PropertyInfoImpl$1.<clinit>
    (PropertyInfoImpl.java:365)
        at com.sun.xml.bind.v2.model.impl.PropertyInfoImpl.calcXmlName
    (PropertyInfoImpl.java:365)
        at com.sun.xml.bind.v2.model.impl.PropertyInfoImpl.calcXmlName
    (PropertyInfoImpl.java:340)
        at com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl.getTypes
    (ElementPropertyInfoImpl.java:136)
        at com.sun.xml.bind.v2.model.impl.RuntimeElementPropertyInfoImpl.getTypes
    (RuntimeElementPropertyInfoImpl.java:86)
        at com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl$1.size
    (ElementPropertyInfoImpl.java:78)
        at java.util.AbstractList$Itr.hasNext(AbstractList.java:351)
        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo
    (ModelBuilder.java:255)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:100)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:81)
        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo
    (ModelBuilder.java:209)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:95)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:81)
        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo
    (ModelBuilder.java:315)
        at com.sun.xml.bind.v2.model.impl.TypeRefImpl.calcRef(TypeRefImpl.java:92)
        at com.sun.xml.bind.v2.model.impl.TypeRefImpl.getTarget(TypeRefImpl.java:69)
        at com.sun.xml.bind.v2.model.impl.RuntimeTypeRefImpl.getTarget
    (RuntimeTypeRefImpl.java:58)
        at com.sun.xml.bind.v2.model.impl.RuntimeTypeRefImpl.getTarget
    (RuntimeTypeRefImpl.java:51)
        at com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl$1.get
    (ElementPropertyInfoImpl.java:74)
        at com.sun.xml.bind.v2.model.impl.ElementPropertyInfoImpl$1.get
    (ElementPropertyInfoImpl.java:77)
        at java.util.AbstractList$Itr.next(AbstractList.java:358)
        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo
    (ModelBuilder.java:255)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:100)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:81)
        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo
    (ModelBuilder.java:209)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:95)
        at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo
    (RuntimeModelBuilder.java:81)
        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo
    (ModelBuilder.java:315)
        at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo
    (ModelBuilder.java:330)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet
    (JAXBContextImpl.java:466)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:302)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build
    (JAXBContextImpl.java:1140)
        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
        at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:106)
        at com.sun.xml.ws.developer.JAXBContextFactory$1.createJAXBContext
    (JAXBContextFactory.java:109)
        at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run
    (AbstractSEIModelImpl.java:161)
        at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run
    (AbstractSEIModelImpl.java:154)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.xml.ws.model.AbstractSEIModelImpl.createJAXBContext
    (AbstractSEIModelImpl.java:153)
        at com.sun.xml.ws.model.AbstractSEIModelImpl.postProcess
    (AbstractSEIModelImpl.java:94)
        at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel
    (RuntimeModeler.java:258)
        at com.sun.xml.ws.server.EndpointFactory.createSEIModel
    (EndpointFactory.java:338)
        at com.sun.xml.ws.server.EndpointFactory.createEndpoint
    (EndpointFactory.java:201)
        at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:505)
        at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters
    (DeploymentDescriptorParser.java:253)
        at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse
    (DeploymentDescriptorParser.java:147)
        at 
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized
    (WSServletContextListener.java:124)
        at org.apache.catalina.core.StandardContext.listenerStart
    (StandardContext.java:4727)
        at org.apache.catalina.core.StandardContext.startInternal
    (StandardContext.java:5189)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal
    (ContainerBase.java:724)
        at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:129)
        at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run
    (ContainerBase.java:150)
        at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run
    (ContainerBase.java:140)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run
    (HostConfig.java:1805)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker
    (ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run
    (ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

On the other hand, without security manager - everything deploys fine. 另一方面,如果没有security manager ,一切都会很好地部署。

After some searching, I came to understanding that the problem is that javax/xml/bind/annotation/XmlNsForm is found in both tomcat libraries and in the METRO 2.0 . 经过一番搜索之后,我开始理解问题是在tomcat库和METRO 2.0中都找到了javax/xml/bind/annotation/XmlNsForm

So I have 2 questions: 所以我有两个问题:

1.Is there some kind of property in catalina.policy that could be set to avoid this problem. 1. catalina.policy中是否可以设置某种属性来避免此问题。

2.Is there any other way to resolve this conflict without removing Metro 2.0 from war . 2.是否有其他方法可以解决此冲突而无需从war删除Metro 2.0

Thanks in advance. 提前致谢。

因此,解决方案是不使用整个Metro 2.0捆绑软件-仅使用捆绑软件的某些库(作为jars添加,而不是作为netbeans整个捆绑软件添加)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.LinkageError:加载器约束违规 - java.lang.LinkageError: loader constraint violation java.lang.LinkageError:违反加载程序约束…EquinoxClassLoader / VNative - java.lang.LinkageError: loader constraint violation … EquinoxClassLoader / VNative Zxing-java.lang.LinkageError:加载程序约束冲突 - Zxing - java.lang.LinkageError: loader constraint violation java.lang.LinkageError:接口itable初始化中的加载器约束违规 - java.lang.LinkageError: loader constraint violation in interface itable initialization 奇怪的 maven 异常:java.lang.LinkageError:loader 约束冲突 - Strange maven exception: java.lang.LinkageError:loader constraint violation java.lang.LinkageError:违反加载程序约束:解析方法时 - java.lang.LinkageError: loader constraint violation: when resolving method java.lang.LinkageError:Spring MVC 和 Thymeleaf 的加载器约束冲突 - java.lang.LinkageError: loader constraint violation for Spring MVC and Thymeleaf java.lang.LinkageError:接口itable初始化中的加载器约束违规: - java.lang.LinkageError: loader constraint violation in interface itable initialization: slf4j java.lang.LinkageError 加载器约束违规 - slf4j java.lang.LinkageError loader constraint violation 嵌套的异常是java.lang.LinkageError:加载程序约束冲突 - nested exception is java.lang.LinkageError: loader constraint violation
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM