发行版Tar不会依赖项目依赖

时间:2019-09-22 08:50:13

标签: java gradle build

我有一个多项目构建。项目确实具有外部依赖性以及项目依赖性。在编译期间,项目依赖关系得到了很好的认识,但是,在最终的tar(由分发插件创建)中,存在旧的snpashot jar,而不是新创建的jar。

已经尝试删除缓存,行为仍然相同。发现这仅适用于创建了.jar的项目,该项目的名称早已作为外部.jar依赖项包含在内。

例如: 项目:service:My-Service对:shared:My-Shared-Lib和:shared:New-Shared-Lib具有项目依赖性。 My-Service将在编译期间正确使用My-Shared-Lib和New-Shared-Lib。由于某种原因,分发插件生成的.tar将不包含与编译期间所使用的依赖项相同的依赖项。它将包括项目New-Shared-Lib新建的.jar,因为它以前不存在。但是,由于My-Shared-Lib生成了一个.jar,该名称先前曾用作外部依赖项,因此gradle似乎很困惑,并从存储库中下载了旧版本。

build.gradle在:service:我的服务:

dependencies {
    implementation project(':shared:My-Shared-Lib')  // earlier on included by implementation 'org.example:My-Shared-Lib:10.+'
    implementation project(':shared:New-Shared-Lib') // totally new, never pushed to the repo before
}

我希望gradle使用与构建期间完全相同的依赖项。

0 个答案:

没有答案