讨论区 » AAS-V10企业版 »
jersey相关类冲突
异常提示:
java.lang.ClassCastException: class org.glassfish.jersey.uri.internal.JerseyUriBuilder cannot be cast to class org.jboss.resteasy.spi.ResteasyUriBuilder (org.glassfish.jersey.uri.internal.JerseyUriBuilder is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @8d62efb; org.jboss.resteasy.spi.ResteasyUriBuilder is in unnamed module of loader com.apusic.aas.web.loader.WebappClassLoader @420b93d2)
at org.jboss.resteasy.spi.metadata.ResourceBuilder$ResourceMethodBuilder.buildMethod(ResourceBuilder.java:715)
at org.jboss.resteasy.spi.metadata.ResourceBuilder.processMethod(ResourceBuilder.java:1245)
at org.jboss.resteasy.spi.metadata.ResourceBuilder.fromAnnotations(ResourceBuilder.java:911)
at org.jboss.resteasy.spi.metadata.ResourceBuilder.getRootResourceFromAnnotations(ResourceBuilder.java:878)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:258)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:227)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:208)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:192)
at org.jboss.resteasy.plugins.spring.SpringBeanProcessor.onApplicationEvent(SpringBeanProcessor.java:531)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
at org.springframework.context.support.AbstractApplicationContext.registerListeners(AbstractApplicationContext.java:881)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:580)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:423)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174)
at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5764)
at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:609)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5660)
at com.sun.enterprise.web.WebModule.start(WebModule.java:526)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:885)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:868)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:644)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2069)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1690)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:83)
at com.apusic.aas.internal.data.EngineRef.start(EngineRef.java:98)
at com.apusic.aas.internal.data.ModuleInfo.start(ModuleInfo.java:267)
at com.apusic.aas.internal.data.ApplicationInfo.start(ApplicationInfo.java:358)
at com.apusic.enterprise.v10.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:479)
at com.apusic.enterprise.v10.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:412)
at com.apusic.enterprise.v10.server.ApplicationLoaderService$1.run(ApplicationLoaderService.java:228)
at java.base/java.lang.Thread.run(Thread.java:829)
处理方案:在应用WEB-INF目录下添加如下内容的apusic-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<aas-web-app error-url="">
<class-loader delegate="false">
<property name="ignoreParentsFiles" value="true"></property>
<property name="ignoreResources" value="META-INF/services/javax.servlet.ServletContainerInitializer;META-INF/services/org.jboss.resteasy.spi.ResteasyUriBuilder;META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider;META-INF/services/org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider"></property>
<property name="ignoreClassPrefix" value="org.glassfish.jersey"></property>
</class-loader>
</aas-web-app>
如果不行,可以换种写法:
<?xml version="1.0" encoding="UTF-8"?>
<aas-web-app error-url="">
<class-loader delegate="false">
<property name="ignoreParentsFiles" value="true"></property>
<property name="ignoreClassPrefix" value="org.glassfish.jersey"></property>
<property name="ignoreResources" value="META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider;META-INF/services/org.glassfish.jersey.servlet.internal.spi.ServletContainerProvider"></property>
</class-loader>
</aas-web-app>
apusic-web.xml (598 Bytes) apusic-web.xml |