Ms word docx4j';无法从ZipFile获取[Content\u Types].xml
我一直在谷歌上搜索并尝试各种方法,比如将jaxb.properties文件放到我的web2文件夹中,以指定eclipselink,但一点运气都没有 我可以从eclipse简单代码运行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
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版本相反),您需要:
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>