Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms word docx4j';无法从ZipFile获取[Content\u Types].xml_Ms Word_Jaxb_Docx4j - Fatal编程技术网

Ms word docx4j';无法从ZipFile获取[Content\u Types].xml

Ms word docx4j';无法从ZipFile获取[Content\u Types].xml,ms-word,jaxb,docx4j,Ms Word,Jaxb,Docx4j,我一直在谷歌上搜索并尝试各种方法,比如将jaxb.properties文件放到我的web2文件夹中,以指定eclipselink,但一点运气都没有 我可以从eclipse简单代码运行 String inputfilepath = "mywordfile.docx"; WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath)); MainDocument

我一直在谷歌上搜索并尝试各种方法,比如将jaxb.properties文件放到我的web2文件夹中,以指定eclipselink,但一点运气都没有

我可以从eclipse简单代码运行

String inputfilepath = "mywordfile.docx";

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath));
MainDocumentPart main = wordMLPackage.getMainDocumentPart();
但当它在jboss(同样的jdk,jboss的旧版本)下运行时,我得到了

我想不出一个简单的方法来解决它。大多数谷歌都建议改变jaxb的实现——但我并没有整理自己的类,所以它没有意义(我的尝试也没有奏效)


有什么想法吗?

要使用EclipseLink/MOXy JAXB(与JDK或参考实现中的Sun/Oracle版本相反),您需要:

  • 相关的日食罐
  • docx4j-MOXy-JAXBContext-3.0.0.jar(仅包含jaxb.properties文件)
  • jaxb.properties文件只是说:

    javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
    
    如果您使用的是maven,则只需添加:

    <dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-MOXy-JAXBContext</artifactId>
    <version>3.0.0</version>
    </dependency>
    
    <dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.moxy</artifactId>
    <version>2.5.1</version>
    </dependency>
    
    
    org.docx4j
    docx4j MOXy JAXBContext
    3.0.0
    org.eclipse.persistence
    org.eclipse.persistence.moxy
    2.5.1
    

    当您启动docx4j时,日志输出将告诉您它正在使用哪个JAXB。

    太好了,我丢失了docx4j-MOXy-JAXBContext-3.0.0.jar,现在可以工作了-谢谢!!!
    <dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-MOXy-JAXBContext</artifactId>
    <version>3.0.0</version>
    </dependency>
    
    <dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.moxy</artifactId>
    <version>2.5.1</version>
    </dependency>