java - Gradle - 类未加载 : org. docx4j.jaxb.Context

标签 java gradle

我有一个带有旧 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 吗?

最佳答案

关于java - Gradle - 类未加载 : org. docx4j.jaxb.Context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52166986/

相关文章:

java - Spring 的 AsyncRestTemplate 不适用于压缩内容,获取压缩内容而不是 json 对象

java - 不同类型的二维数组

gradle - 创建一个始终作为最终清理步骤运行的任务?

android - 我没有在任何地方使用过编译,但仍然得到 "Configuration ' 编译'已过时,已被 'implementation' 和 'api' 取代“

java - NULL 上的方法调用工作正常 - 期待 NPE

Java G1 : Monitoring for memory leaks in production

java - facebook 登录 服务器端应用程序与 javascript sdk

java - 字符串太大,无法使用 UTF-8 进行编码,而改为 'STRING_TOO_LARGE'

reactjs - gradlew.bat 退出并显示非零代码 : 1 React Native

intellij-idea - 带有 Intellij 的 Gradle 脚本参数(例如 -Penv)