首页 文章

Maven不同的本地存储库用于SNAPSHOT和RELEASE工件

提问于
浏览
1

是否可以在Maven中为SNAPSHOT和RELEASE工件配置不同的本地存储库?

我问的原因是,我们正在使用Jenkins为我们的项目进行持续构建 . 为了确保一致性(如果因为竞争条件而从不同的Jenkins作业构建相同的工件,我们可以体验混乱行为)在构建开始之前,我们为Jenkins创建了一个新的本地存储库 .

现在的问题是,我们的项目非常庞大,因此对于每个构建我们都必须从Nexus下载大量依赖项,但是当您考虑它时,没有理由每次都有新的RELEASE工件下载 . RELEASE工件不会从构建更改为构建,例如,Spring 4.5,httpclient 4.0,aspectj 1.8.1对于一个构建到另一个构建是相同的 .

所以实际上为了确保一致性,我们不应该在存储库中具有SNAPSHOT依赖性 . 如果我们有两个本地存储库,一个用于RELEASE工件,另一个用于SNAPSHOT,那么在每个构建开始之前,我们可以删除SNAPSHOT存储库但重新使用本地RELEASE存储库,这将节省我从Nexus下载的数十亿字节 .

我知道我们可以为远程存储库做RELEASE,SNAPSHOT配置,是否可以对本地存储库进行相同类型的配置?

如果这不可能,你会如何解决这个问题 .

1 回答

  • 0

    你的Jenkins将有一个本地maven安装,而后者又有一个本地存储库,对于SNAPSHOT和RELEASE来说应该是相同的 .

    一旦从Nexus下载了依赖项,它将被存储在本地而不再被下载,这将是高效的 .

    因此,在第一次构建项目时,您应该只从Nexus下载大量内容 .

相关问题