首页 文章

不能在Wildfly 8上使用docx4j

提问于
浏览
3

我刚刚将服务器从JBoss AS 7.1升级到Wildfly 8.经过大量的迁移工作后,一切正常,除了docx4j . 我总是得到以下例外 . 有没有人有想法?

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

引起:java.lang.ClassNotFoundException:com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper来自org.jboss.modules.ModuleClassLoader.findClass中的[Module“deployment.myapp.ear:main”来自Service Module Loader] ModuleClassLoader.java:197)[jboss-modules.jar:1.3.0.Final] org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443)[jboss-modules.jar:1.3.0.Final] at at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431)[jboss-modules.jar:1.3.0.Final] 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更多

2014-05-23 11:34:16,243 ERROR [org.jboss.as.ejb3](默认任务-5)javax.ejb.EJBTransactionRolledbackException:意外错误

我现在尝试过的:

  • 将docx4j更新到最新版本 .

  • 将com.sun.xml.bind定义为jboss-deployment-structure.xml中的依赖关系,用于Web和服务器包 .

  • 将docx4j添加为Wildfly的模块,并将com.sun.xml.bind定义为依赖项 .

  • 更改为Wildfly中旧版本的com.sun.xml.bind,它与我的jboss-as-7.1.1模块相同

  • 在pom.xml中添加自己的JAXB RI(最新版本) .

但以上都不奏效 . 我仍然得到同样的错误 .

1 回答

  • 4

    在我自己绑定依赖项之后,问题就解决了:

    <dependency>
            <groupId>com.googlecode.jaxb-namespaceprefixmapper-interfaces</groupId>
            <artifactId>JAXBNamespacePrefixMapper</artifactId>
            <version>2.2.4</version>
            <scope>runtime</scope>
         </dependency>
    

相关问题