2012-12-24 57 views
0

我在尝试将我的Web应用程序部署到GlassFish 3.1.2时遇到了问题。看起来有JAXB库冲突:我的应用程序使用v.1 JAXB实现,而AFAIK和GlassFish 3.1.2包含它自己的v2 JAXB实现。这可能会导致在部署过程中失败吗?如何在这种情况下采取行动?GlassFish的JAXB实现

异常消息:

Caused by: rpt.engine.util.EngineException: javax.xml.bind.JAXBException: Provider com.sun.xml.bind.ContextFactory_1_0_1 could not be instantiated: javax.xml.bind.JAXBException - with linked exception: [java.lang.NoSuchFieldError: theInstance]
- with linked exception: [javax.xml.bind.JAXBException - with linked exception: [java.lang.NoSuchFieldError: theInstance]] at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:160) at javax.xml.bind.ContextFinder.find(ContextFinder.java:308) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:313)

回答

1

这看起来与Glassfish的3.1.2是2.2.5捆绑的JAXB版中的问题。
您可以尝试手动升级捆绑的JAXB版本:

  • http://jaxb.java.net/(整套)

  • 备份文件下载新版本/GLASSFISH_HOME/glassfish/lib/jaxb-osgi.jar/GLASSFISH_HOME/glassfish/lib/endorsed/jaxb-api-osgi.jar

  • 中提取文件JAXB的osgi.jarJAXB-API-osgi.jarnew-version.zip/lib/GLASSFISH_HOME /的glassfish/LIB//GLASSFISH_HOME /的glassfish/LIB /认可/

+0

感谢答复。去尝试。 –