我有一个带有旧docx4j依赖项的maven项目,我想更新到java 9.在更新期间,我将项目从maven更改为gradle。
所以现在我在IntelliJ中有一个带有这种依赖关系的gradle项目:
dependencies {
implementation('commons-io:commons-io:2.6')
implementation('javax.xml.bind:jaxb-api:2.4.0-b180725.047')
implementation('org.docx4j:docx4j:6.0.1')
implementation('org.docx4j:docx4j-ImportXHTML:6.0.1')
implementation('org.docx4j:docx4j-export-fo:6.0.1')
testImplementation('junit:junit:4.12')
}
构建工作正常,但如果我想打开一个.docx文件,使用Docx4J.load(...)或WordprocessingMLPackage.load(...)它会抛出一个RuntimeException。在调试模式下,我可以看到以下消息:Class not loaded:org.docx4j.jaxb.Context
这个Context.java文件有一个这样的静态代码块:
static {
...
}
我认为这是gradle特定的错误,因为我创建了一个新的maven项目,它具有与gradle项目相同的代码和依赖项,并且它可以工作。
有没有解决方案,或者我将来也应该使用maven?