JBoss Wildfly与Jersey Web服务部署错误JBAS011859:命名上下文是只读的

Rya*_*kis 3 java jboss web-services jersey wildfly

我正在使用Jersey Servlet(1.18.1)处理Java Webservices项目.当我将我的EAR文件部署到Jboss WildFly(8.1.0)时,我得到以下错误,我不确定为什么它在部署和在JBoss7(7.1.1)中100%部署的同一个EAR文件时破坏.
错误堆栈跟踪:

java.lang.UnsupportedOperationException: JBAS011859: Naming context is read-only
at org.jboss.as.naming.WritableServiceBasedNamingStore.requireOwner(WritableServiceBasedNamingStore.java:126)
at org.jboss.as.naming.WritableServiceBasedNamingStore.createSubcontext(WritableServiceBasedNamingStore.java:116)
at org.jboss.as.naming.NamingContext.createSubcontext(NamingContext.java:338)
at org.jboss.as.naming.InitialContext.createSubcontext(InitialContext.java:229)
at org.jboss.as.naming.NamingContext.createSubcontext(NamingContext.java:346)
at javax.naming.InitialContext.createSubcontext(InitialContext.java:464)
at com.sun.jersey.server.impl.cdi.CDIExtension$1.stepInto(CDIExtension.java:280)
Run Code Online (Sandbox Code Playgroud)

Rya*_*kis 8

在JBoss开发论坛做了一些研究之后,我找到了答案.这是由Jersey的一个错误引起的,它不允许将JNDI条目添加到JVM中.

要修复它,请将以下内容添加到standalone.bat:

set "JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=**true**"
Run Code Online (Sandbox Code Playgroud)

或属性文件:

com.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true
Run Code Online (Sandbox Code Playgroud)