I just upgraded the server from JBoss AS 7.1 to WildFly 8. After a lot of migrating work everything works fine except docx4j. I always get the following exceptions. Does anyone have an idea?
Failed to define class org.docx4j.jaxb.NamespacePrefixMapperSunInternal in Module "deployment.ProfilerApp.ear:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/docx4j/jaxb/NamespacePrefixMapperSunInternal (Module "deployment.myapp.ear:main" from Service Module Loader)
Caused by: java.lang.NoClassDefFoundError: com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_55]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) [rt.jar:1.7.0_55]
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:345) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:423) [jboss-modules.jar:1.3.0.Final]
... 225 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper from [Module "deployment.myapp.ear:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar:1.3.0.Final]
... 229 more
2014-05-23 11:34:16,243 ERROR [org.jboss.as.ejb3] (default task-5) javax.ejb.EJBTransactionRolledbackException: Unexpected Error
What I have tried now:
- Update docx4j to the latest version.
- Define com.sun.xml.bind as a dependency in jboss-deployment-structure.xml for web and server package.
- Add docx4j as a module for WildFly and define com.sun.xml.bind as dependency.
- Change to the older version of com.sun.xml.bind in Wildfly, which is the same module as my jboss-as-7.1.1
- Add own JAXB RI (the latest version) in the pom.xml.
But none of above works. I still get the same errors.