如何让 Maven 停止尝试检查来自 maven-central-repo 的某个组的项目更新?
2022-08-31 08:04:58
我正在做一个相当大的Maven项目。我们可能有大约70个左右的单个工件,它们大致分为两个共享代码库,也许还有十个使用它们的应用程序。所有这些项目都位于命名空间中。com.mycompany.*
大多数情况下,我们针对快照生成运行。因此,要对应用程序进行完整构建,我可以首先构建库项目,以便将它们安装到我的本地存储库中(例如,)。mycompany-libname-2.4-SNAPSHOT.jar
问题是,当我然后去构建应用程序时。出于某种原因,Maven 希望检查两个主要的公共存储库(maven-net-repo 和 java-net-repo)以获取所有工件的更新。当然,它们在那里找不到,一切最终都会解析回我刚刚构建到本地存储库的版本,但我希望Maven停止这样做,因为(a)它让我感觉像一个糟糕的net.citizen,因为不断检查这些存储库中的东西永远不会存在,(b)它在我的构建过程中增加了一些不必要和烦人的网络延迟。mycompany-*-SNAPSHOT.jar
我大部分时间都在离线模式下运行maven来解决这个问题,但这并不理想,因为偶尔会更新对公共图书馆的依赖关系。因此,我正在寻找的是一种解决方案,它将导致Maven不检查给定存储库中满足特定条件的工件的更新 - 在这种情况下,如果Maven忽略SNAPSHOT版本或命名空间中的工件,我会很高兴。com.mycompany