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