我正在开发一个使用 Jersey Servlet (1.18.1) 的 Java Web 服务项目。将我的 EAR 文件部署到 Jboss WildFly (8.1.0) 时,我收到以下错误,并且我不确定为什么它会中断,因为同一个 EAR 文件在 JBoss7 (7.1.1) 中部署并工作 100%。
错误堆栈跟踪:
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)
在 JBoss 开发论坛做了一些研究后,我找到了答案。这是由 Jersey 的一个错误引起的,该错误不允许将 JNDI 条目添加到 JVM 中。
要修复此问题,请将以下内容添加到standalone.bat中:
set "JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true"
或属性文件:
com.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)