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

Gradle依赖传递异常:项目A的API依赖未引入项目B

Gradle依赖发布与引入问题排查方案
  • 核对项目A的maven-publish配置
    用java-library插件的项目,发布时得确保publishing配置关联Java组件,才能把主代码Jar和API依赖的传递信息写入POM。项目A的build.gradle里的publishing块需配置如下:

    publishing {
        publications {
            mavenJava(MavenPublication) {
                from components.java
            }
        }
        repositories {
            mavenLocal()
        }
    }
    

    执行publishToMavenLocal后,去本地Maven仓库(路径一般为~/.m2/repository/com/github/ynverxe/xenov/api/0.0.1)检查,必须存在api-0.0.1.jar(主代码包)、api-0.0.1.pom这两个核心文件,若只有源码包,说明发布配置未生成主Jar。

  • 检查项目A的POM文件
    打开上述路径下的api-0.0.1.pom,查看是否有<dependencies>节点,且节点内包含你用api声明的所有依赖(自身模块及Maven仓库依赖)。若缺少这些依赖条目,项目B引入时自然无法获取传递依赖。

  • 调整项目B的仓库配置
    你给mavenLocal添加的ignoreGradleMetadataRedirection会强制Gradle仅读取POM、忽略Gradle原生元数据,若项目A的POM本身存在问题,会加重依赖解析异常。先删除该配置,修改为:

    repositories {
        mavenLocal()
    }
    

    再执行./gradlew clean build --refresh-dependencies刷新依赖缓存,查看类路径是否恢复正常。

  • 查看依赖解析日志
    若问题仍存在,执行项目B的./gradlew dependencies --configuration implementation命令,查看输出中com.github.ynverxe.xenov:api:0.0.1的依赖树,确认传递依赖是否显示、主Jar是否被正确引入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:05:00