当我使用maven构建时,我看到它检查所有类型的外部存储库,以查找只有我的本地构建应该生成的工件。我怎么能告诉它com.myorg组只能在本地存储库中找到?基本上我想做m2eclipse在工作区分辨率上做的事情,但是在命令行上。
[INFO] snapshot com.myorg:core:0.0.1-SNAPSHOT: checking for updates from sun-jms
[INFO] snapshot com.myorg:core:0.0.1-SNAPSHOT: checking for updates from hibernate
[INFO] snapshot com.myorg:util:0.0.1-SNAPSHOT: checking for updates from sun-jms
[INFO] snapshot com.myorg:util:0.0.1-SNAPSHOT: checking for updates from hibernate
...
背景
我有一个分层的maven项目(一个级别)。我想做一个完整的构建,所以我去顶部做mvn clean install
。
答案 0 :(得分:9)
您可以尝试将“-o”选项传递给Maven。 -o激活“离线模式”,其中Maven不查询远程存储库以检查更新或新工件。
我认为你不能在每个依赖的基础上指定它。
答案 1 :(得分:7)
如果您使用的远程存储库是发布存储库并且实际上不包含任何SNAPSHOT,则可以为它们禁用SNAPSHOT,并且Maven不会检查它们是否有SNAPSHOT更新。例如:
<repositories>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
...
</repositories>
答案 2 :(得分:1)
默认情况下,maven首先检查本地存储库中的依赖项,然后检查外部存储库中的依赖项。将maven检查外部存储库的唯一情况是使用快照。
如果您使用快照,则可以使用<updatePolicy>
标记来更改何时检查外部存储库。
如果您想在离线模式下工作,可以使用“-o”选项在mvn命令上设置临时离线选项,也可以在“〜/ .m2 / settings.xml”中设置它。 <offline>true</offline>
。
在执行此操作之前,请记住在真正激活离线模式之前使用dependecy:go-offline
mojo下载一次依赖项。
资源: