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

Java模块化Gradle项目集成Saxon-HE依赖报错求助

解决Saxon-HE在Java 11模块化Gradle项目中的构建问题

以下是针对性的解决方案:

  • 确认Saxon-HE的正确模块名
    低版本的Saxon-HE没有自带module-info.java,属于JPMS自动模块。模块名优先以jar包META-INF/MANIFEST.MF中的Automatic-Module-Name属性为准:

    1. 找到Gradle本地仓库中的Saxon-HE jar包(路径一般是~/.gradle/caches/modules-2/files-2.1/net.sf.saxon/Saxon-HE/[版本号]/)
    2. 解压jar包,查看META-INF/MANIFEST.MF,查找Automatic-Module-Name字段
    3. 若该字段存在(比如新版本Saxon-HE的net.sf.saxon),则用这个值作为requires指令的模块名;若不存在,自动模块名由jar文件名推导(比如saxon-he-9.9.1-7.jar推导为saxon.he)
  • 修正module-info.java的requires指令
    替换IDE提示的错误指令,示例如下:

    module your.module.name {
        requires net.sf.saxon; // 或根据实际模块名修改为requires saxon.he;
        // 其他requires指令...
    }
    
  • Gradle依赖配置优化(可选)
    若使用的Saxon-HE版本未指定Automatic-Module-Name,可以在Gradle依赖中手动指定,避免模块名推导错误:

    dependencies {
        implementation('net.sf.saxon:Saxon-HE:[你的版本号]') {
            attributes {
                attribute('Automatic-Module-Name', 'net.sf.saxon')
            }
        }
    }
    
  • 清理缓存并重新构建

    1. 执行./gradlew clean build清理旧构建产物并重新编译
    2. 若IntelliJ仍有异常提示,执行File -> Invalidate Caches... -> Invalidate and Restart清理IDE缓存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:01:42