2016-11-22 129 views
0

我想在wildfyl-10服務器上運行docx4j。 我總是得到以下情況除外:上wildfly不能在wildfly 10和java 8上使用docx4j

> INFO org.docx4j.jaxb.Context - java.vendor=Oracle Corporation 
>  INFO org.docx4j.jaxb.Context - java.version=1.8.0_91 
>  INFO org.docx4j.jaxb.Context - No MOXy JAXB config found; assume not intended.. 
>  WARN org.docx4j.jaxb.NamespacePrefixMapperUtils - name: com.sun.xml.internal.bind.namespacePrefixMapper value: 
> [email protected] .. trying 
> RI. 
>  INFO org.docx4j.jaxb.NamespacePrefixMapperUtils - Using NamespacePrefixMapper, which is suitable for the JAXB RI 
>  INFO org.docx4j.jaxb.Context - Using JAXB Reference Implementation 
>  INFO org.docx4j.jaxb.Context - Not using MOXy; using com.sun.xml.bind.v2.runtime.JAXBContextImpl 
>  WARN org.docx4j.utils.ResourceUtils - Couldn't get resource: docx4j.properties 
>  WARN org.docx4j.Docx4jProperties - Couldn't find/read docx4j.properties; docx4j.properties not found via classloader. 
>  INFO org.docx4j.XmlUtils - setProperty com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl 
>  INFO org.docx4j.XmlUtils - actual: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl 
>  INFO org.docx4j.XmlUtils - setProperty com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl 
>  INFO org.docx4j.XmlUtils - actual: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl 
>  INFO org.docx4j.openpackaging.contenttype.ContentTypeManager - Detected WordProcessingML package 
>  INFO org.docx4j.openpackaging.io3.Load3 - Instantiated package of type org.docx4j.openpackaging.packages.WordprocessingMLPackage 
>  INFO org.docx4j.utils.XPathFactoryUtil - xpath implementation: __redirected.__XPathFactory 
>  INFO org.docx4j.openpackaging.io3.Load3 - package read; elapsed time: 3269 ms 
>  WARN org.docx4j.jaxb.NamespacePrefixMapperUtils - name: com.sun.xml.internal.bind.namespacePrefixMapper value: 
> or[email protected]63f5c9a4 
> .. trying RI. 
>  INFO org.docx4j.jaxb.NamespacePrefixMapperUtils - Using NamespacePrefixMapperRelationshipsPart, which is suitable for the JAXB 
> RI 

模塊:在耳

<module xmlns="urn:jboss:module:1.3" name="org.docx4j"> 
<resources> 
<resource-root path="antlr-runtime-3.5.2.jar"/> 
.... 
<resource-root path="docx4j-ImportXHTML-3.3.1.jar"/> 

</resources> 

<dependencies> 

<module name="org.antlr"/> 
<module name="sun.jdk"/> 
<system export="true"> 
    <paths> 
     <path name="com/sun/xml/internal/bind/marshaller"/> 
    </paths> 
</system> 
<module name="javax.xml.bind.api"/>  
<module name="javax.api"/>    
<module name="com.sun.xml.bind" /> 

</dependencies> 
</module> 

JBoss的部署:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.3"> 
<sub-deployment name="Be.jar"> 
    <dependencies> 
     <module name="com.sun.xml.bind" /> 
     <module name="org.docx4j" export="true" /> 
    </dependencies> 
</sub-deployment> 
</jboss-deployment-structure> 

沒有提出針對早期版本的解決方案的服務器似乎正在工作。 有沒有人有想法?

+1

什麼異常?您包含的日誌表明JAXB參考實現正在使用中。它沒有顯示任何問題。 – JasonPlutext

+0

我在控制檯上看到類似這樣的東西10:33:48,920錯誤[stderr](默認任務56)[默認任務56] INFO org.docx4j.jaxb.NamespacePrefixMapperUtils - 使用NamespacePrefixMapperRelationshipsPart,適用於JAXB RI –

+0

我不知道「ERROR [stderr](默認任務56)[默認任務56]」(它不是docx4j),而是「INFO org.docx4j.jaxb.NamespacePrefixMapperUtils - 使用NamespacePrefixMapperRelationshipsPart,它適用於JAXB RI「完全可以。 – JasonPlutext

回答

0

從docx4j模塊描述符中刪除slf4j-api-xxx.jar後,問題就解決了。在Wildfly 10

Docx4j模塊描述與記錄(SLF4J)啓用:

<module xmlns="urn:jboss:module:1.3" name="org.docx4j"> 
<resources> 

    <!--<resource-root path="slf4j-api-1.7.21.jar"/> --> 

    <resource-root path="antlr-runtime-3.5.2.jar"/> 
    <resource-root path="avalon-framework-api-4.3.1.jar"/> 
    <resource-root path="avalon-framework-impl-4.3.1.jar"/> 
    <resource-root path="commons-codec-1.10.jar"/> 
    <resource-root path="commons-io-2.4.jar"/> 
    <resource-root path="commons-lang3-3.4.jar"/> 
    <resource-root path="commons-logging-1.1.3.jar"/> 
    <resource-root path="docx4j-3.3.1.jar"/> 
    <resource-root path="guava-19.0.jar"/> 
    <resource-root path="httpclient-4.5.2.jar"/> 
    <resource-root path="httpcore-4.4.4.jar"/> 
    <resource-root path="jackson-annotations-2.7.0.jar"/> 
    <resource-root path="jackson-core-2.7.3.jar"/> 
    <resource-root path="jackson-databind-2.7.3.jar"/> 
    <resource-root path="jaxb-svg11-1.0.2.jar"/> 
    <resource-root path="lorem-2.0.jar"/> 
    <resource-root path="mbassador-1.2.4.2.jar"/> 
    <resource-root path="serializer-2.7.2.jar"/> 
    <resource-root path="stringtemplate-3.2.1.jar"/> 
    <resource-root path="wmf2svg-0.9.8.jar"/> 
    <resource-root path="xalan-2.7.2.jar"/> 
    <resource-root path="xmlgraphics-commons-2.1.jar"/> 
    <resource-root path="docx4j-ImportXHTML-3.3.1.jar"/> 
</resources> 

<dependencies> 
    <module name="org.slf4j"/> 
    <module name="org.antlr"/> 
    <module name="sun.jdk"/> 
    <system export="true"> 
    <paths> 
     <path name="com/sun/xml/internal/bind/marshaller"/> 
    </paths> 
    </system>  
    <module name="javax.xml.bind.api"/> 
    <module name="javax.api"/>    
    <module name="com.sun.xml.bind" /> 
</dependencies> 
</module> 

的EAR JBoss的部署,structure.xml:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.3"> 
    <sub-deployment name="Be.jar"> 
     <dependencies> 
     <module name="com.sun.xml.bind" /> 
     <module name="org.docx4j" export="true" /> 
    </dependencies> 
    </sub-deployment> 
</jboss-deployment-structure>