Maven 2 当依赖项过时时,如何中断maven构建?

Maven 2 当依赖项过时时,如何中断maven构建?,maven-2,continuous-integration,dependencies,Maven 2,Continuous Integration,Dependencies,我喜欢这辆车,但有时我会忘记开一会儿。当某些重要的依赖项过时时,有没有办法使maven构建失败(从而导致连续构建失败?我认为您处理这个问题的方法是错误的。如果您愿意,可以将maven版本插件的输出发送给您自己,但不要因为超出您控制范围的更改而使构建失败 更重要的是,为什么您要不必要地更新到最新版本?我已经看到许多棘手的问题出现,由于升级带来了轻微的变化,以前的行为 这通常是一种不好的做法——自动更新版本。没有实际理由使用任何软件包的最新版本。如果您使用的库满足您的要求,出于安全/稳定性原因,您应

我喜欢这辆车,但有时我会忘记开一会儿。当某些重要的依赖项过时时,有没有办法使maven构建失败(从而导致连续构建失败?

我认为您处理这个问题的方法是错误的。如果您愿意,可以将maven版本插件的输出发送给您自己,但不要因为超出您控制范围的更改而使构建失败


更重要的是,为什么您要不必要地更新到最新版本?我已经看到许多棘手的问题出现,由于升级带来了轻微的变化,以前的行为

这通常是一种不好的做法——自动更新版本。没有实际理由使用任何软件包的最新版本。如果您使用的库满足您的要求,出于安全/稳定性原因,您应该使用此版本。永远

我认为,
maven版本插件
本身就是一种反模式


注:当您想对不同团队/程序员开发的模块进行集成测试时,这就是“集成测试”。即使在这种情况下,我仍然认为动态版本更新是错误的方法。根项目不应该进行这种集成测试,相反,每个子模块(或者JAR,在您的情况下)都必须负责自身与系统其余部分的集成测试。当子模块增加其版本时,它必须验证是否一切正常,然后才必须向存储库发布新版本。当子模块进行验证时,它必须依赖于静态指定的版本号。

所谓“重要依赖项”,我指的是我公司其他团队开发的JAR。我应该尽快升级新版本。如果有问题,其他团队应该很快知道。我不希望每天都毫无差别地阅读电子邮件。我想要一个只有在有新罐子时才会出现的警报。我不会失败构建,我会失败构建。没什么大不了的。你考虑过使用版本范围吗?当新版本出现时,版本范围会导致编译和测试失败。我想立即知道新版本何时发布,但仍然需要手动更新。这样,我仍然可以签出任何修订,它将生成。请参阅另一个答案上的注释。我会静态指定所有版本号。这就是为什么我需要设置第二个单独的版本,当我需要手动更新依赖项时,它会提醒我,希望是在同一天。@Craig是的,但问题是-为什么需要更新版本?原因是什么?只是为了更新?为什么要为此操作花费时间/精力?如果项目可行,为什么要对其进行更改?这更像是SDLC的问题,而不是Maven的问题:)对不起,如果我把你和我的answer@Vincenzo我开发库和框架,所以我想快速更新,原因有二。首先,如果我不升级,公司中依赖我的库的其他团队也无法升级。其次,作为一名库开发人员,我可以向其他内部开发库的团队汇报,并让他们知道在集成过程中是否存在任何问题。@Craig您所解释的是SDLC组织不正确的一个好迹象。当下行链路(库的用户)需要来自上行链路(库)的特定新功能时,应进行版本升级。而且,为了进行理智检查,这种情况永远不应该发生(“我们对最新版本还满意吗?”)。主要是因为这样的检查没有人对问题负责。如果在健全性检查过程中检测到问题,我们不知道该由谁来解决。缺乏明确的责任是SDLC缺陷的明显标志。