我试图让两个几乎相同的战争实例在同一个 jboss 实例上运行。我已将每个war1 和war2 中jboss-web.xml 中的上下文根更改为不同的。但是,当我启动 jboss 时,一个会成功启动,但另一个会失败,并出现以下异常。关于如何解决的任何想法?
Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
Exception 0 :
java.lang.RuntimeException: javax.naming.NamingException: Failed to bind [com.sun.jersey.server.impl.cdi.CDIExtension@ 75507f81] at location [service jboss.naming.context.java.com.sun.jersey.config.CDIExtension] [Root exception is org.jb oss.msc.service.DuplicateServiceException: Service jboss.naming.context.java.com.sun.jersey.config.CDIExtension is alr eady registered]
at com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:201)
at com.sun.jersey.server.impl.cdi.CDIExtension.beforeBeanDiscovery(CDIExtension.java:302)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:607)
at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)
at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)
at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:164)
at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:15 4)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:245)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:233)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:213)
at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:75)
at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java :46)
at org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:46)
at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:335)
at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:62)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.naming.NamingException: Failed to bind [com.sun.jersey.server.impl.cdi.CDIExtension@75507f81] at loca tion [service jboss.naming.context.java.com.sun.jersey.config.CDIExtension] [Root exception is org.jboss.msc.service.D uplicateServiceException: Service jboss.naming.context.java.com.sun.jersey.config.CDIExtension is already registered]
at org.jboss.as.naming.util.NamingUtils.namingException(NamingUtils.java:151)
at org.jboss.as.naming.WritableServiceBasedNamingStore.bind(WritableServiceBasedNamingStore.java:93)
at org.jboss.as.naming.WritableServiceBasedNamingStore.rebind(WritableServiceBasedNamingStore.java:109)
at org.jboss.as.naming.NamingContext.rebind(NamingContext.java:269)
at org.jboss.as.naming.NamingContext.rebind(NamingContext.java:277)
at com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:198)
... 25 more
Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.naming.context.java.com.sun.jersey.config.CD IExtension is already registered
at org.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:158)
at org.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:236)
at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:742)
at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:243)
at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2433)
at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:345)
at org.jboss.as.naming.WritableServiceBasedNamingStore.bind(WritableServiceBasedNamingStore.java:76)
... 29 more
at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java :48)
at org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:46)
at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:335)
at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:62)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss- msc.jar:1.1.5.Final-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc.jar:1 .1.5.Final-redhat-1]
... 3 more