我有一个带有旧 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')
}
构建工作正常,但如果我想使用 Docx4J.load(...) 或 WordprocessingMLPackage.load(...) 打开一个 .docx 文件,它会引发 RuntimeException。
在 Debug模式下,我可以看到此消息:未加载类:org.docx4j.jaxb.Context
这个 Context.java 文件有一个像这样的静态代码块:
static {
...
}
我认为这是 gradle 特定的错误,因为我创建了一个新的 maven 项目,它具有与 gradle 项目相同的代码和依赖项,并且它可以工作。
有什么解决方案吗,或者我将来也应该使用 maven 吗?
最佳答案
在 https://stackoverflow.com/a/51235096/1031689 上有一个 Gradle 特定的答案
或者改为“添加模块”,例如:
或 mac java 9 gradle ClassNotFoundException: javax.xml.bind.JAXBElement when building
关于java - Gradle - 类未加载 : org. docx4j.jaxb.Context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52166986/