Gradle 找不到版本为 RELEASE 的 Maven 父依赖项

Gradle cannot find Maven parent dependency with version RELEASE

我有一个 "project B" 和 pom.xml 像这样:

<parent>
    <groupId>org.company</groupId>
    <artifactId>projectA</artifactId>
    <version>RELEASE</version>
</parent>

<artifactId>projectB</artifactId>
<version>0.0.1</version>

其中 "project B" 有 "project A" 作为父项目 pom。

我正在尝试使用 gradle 创建一个新的 "project C",如果我想使用 "project B" 作为依赖项,我会像这样指定 build.gradle :

repositories {
    maven {
         url "http://mycompany:8081/artifactory/repository"
    }
}

dependencies {
    compile group: 'org.company', name: 'projectB', version: '0.0.1'
}

但是我得到以下错误:

Could not resolve org.company:projectB:0.0.1.

Could not parse POM http://company:8081/artifactory/repository/org/company/projectB/0.0.1/projectB-0.0.1.pom

Could not find org.company:projectA:RELEASE.

除了将我的 projectA 版本号设置为特定版本之外,有没有办法让这个构建与 gradle 一起工作?

有没有办法 gradle 可以像 maven 现在正在做的那样找到正确的版本?我的其他maven项目找到正确的版本没有问题。

我不想获取项目 A 的最新版本,也许下载完整的项目 B jar 就足够了。

P.D 我在本地计算机上使用 gradle 版本 4.5 和 maven 版本 3.5.2

我会做以下事情:

  • 从您的神器下载 projectB 的 jar 和 pom。
  • 更改 pom,将 "RELEASE" 替换为具体版本,并将 projectB 的版本标记替换为新的内容(例如将版本 1.2.3 替换为 1.2.3-manipulated)。
  • 将 jar 和新的 pom 上传到您的 artifactory。
  • 参考版本 1.2.3 - 从 Gradle 操作。

据我所知,您不需要更改原始 jar 或其内容,更改和重新部署 pom 文件就足够了(使用不同的版本表明您的操作)。