You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

引入odfdom后Gradle项目出现Java模块解析异常如何解决?

问题

将现有非模块化应用改造为模块化应用时,添加org.odftoolkit:odfdom-java:0.10.0依赖后,运行出现以下错误:

java.lang.module.ResolutionException: Modules maven.core and maven.artifact export package org.apache.maven.artifact.repository to module org.json

未添加该依赖时项目可正常构建运行。相关配置文件如下:

build.gradle

plugins {
    id 'application'
    id 'org.javamodularity.moduleplugin' version '1.8.9'
    id 'org.openjfx.javafxplugin' version '0.0.10'
    id 'org.beryx.jlink' version "2.24.1"
}

repositories {
    mavenCentral()
}

sourceCompatibility = "11"
targetCompatibility = "11"

dependencies {
    implementation 'org.apache.logging.log4j:log4j-core:2.11.1' //automatic-module
    implementation 'com.google.code.gson:gson:2.9.1' //module
    implementation 'org.odftoolkit:odfdom-java:0.10.0' //none
}

javafx {
    version = 16
    modules = ['javafx.controls']
}

application {
    mainClass = "org.openjfx.HelloFX"
    mainModule = "hellofx"
}

module-info.java

module hellofx {
    requires javafx.controls;
    requires org.apache.logging.log4j;
    
    exports org.openjfx;
}
解决方案
  • 排除冲突的传递依赖:odfdom-java依赖的maven.core和maven.artifact模块存在包导出冲突,在build.gradle中排除其中一个模块的传递依赖,测试功能是否受影响:

    implementation('org.odftoolkit:odfdom-java:0.10.0') {
        exclude group: 'org.apache.maven', module: 'maven-artifact'
    }
    
  • 升级odfdom版本:尝试使用更高版本的odfdom-java,新版本可能已修复依赖结构问题,比如升级到0.12.0:

    implementation 'org.odftoolkit:odfdom-java:0.12.0'
    
  • 将冲突模块转为自动模块:在build.gradle中配置moduleplugin,强制将冲突的maven模块转为自动模块,绕过严格的包导出检查:

    modulePlugin {
        automaticModules = ['maven-core', 'maven-artifact']
    }
    
  • 临时规避参数(不推荐长期使用):在jlink配置中添加JVM参数,允许两个模块同时导出冲突包:

    jlink {
        jvmArgs = ['--add-exports', 'maven.core/org.apache.maven.artifact.repository=org.json', '--add-exports', 'maven.artifact/org.apache.maven.artifact.repository=org.json']
    }
    

内容的提问来源于stack exchange,提问作者CT95

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:05:25