繁体   English   中英

如果存储库中存在较新版本的依赖项,如何使maven构建失败?

[英]How to fail maven build if newer version of dependency exists in repository?

好吧,问题是我希望maven在构建时检查依赖版本,并警告我是否有任何更新的依赖版本(事实上 - 如果我使用某个模块的过时版本通知我)。 我的maven模块A具有以下依赖关系:

<dependency>
    <groupId>com.example.mycompany</groupId>
    <artifactId>commons</artifactId>
    <version>1.0.3</version>
</dependency>

com.example.mycompany:commons模块实际上已经有1.0.4版本了。 有没有办法在repo中检查依赖项的版本,如果新版本已经可用,则无法构建。

我希望versions-maven-plugin可以实现。 但我找不到合适的配置。

使用maven-enforcer-plugin可以解决这个问题。 您必须创建自己的自定义规则 ,因为非标准规则似乎符合您的需求。

您要实施的规则的概念应该是强制执行依赖是最新的 要实现检查,您可以通过您提到的versions-maven-plugin获得一些灵感。

如果您正在使用源代码管理和持续集成服务器(这是一个安全的假设),您可以:

  1. 使用版本插件 ,让它修改pom
  2. 然后使用scm:check-local-modification或release插件作为发布插件IIRC检查本地修改。

以下是检查最新父pom的示例:

mvn versions:update-parent scm:check-local-modification -DallowSnapshots=false -DgenerateBackupPoms=false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM