如何防止Maven每次都下载工件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止Maven每次都下载工件?相关的知识,希望对你有一定的参考价值。
我正在使用Maven 3.1.1。在我的一个项目中,我引用了我的另一个项目......
<dependencies>
<dependency>
<groupId>org.mainco.subco</groupId>
<artifactId>myprojectA</artifactId>
<version>${project.version}</version>
</dependency>
以上内容取决于我的其他几个项目。但是,当我运行“mvn clean install”时,Maven会尝试下载这些工件而不是仅仅使用我本地存储库中的内容。如果我的本地存储库中不存在Maven,我如何让它只下载?这是我所看到的输出......
davea$ mvn clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building subco admin Module 57.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://download.java.net/maven/2/org/mainco/subco/myprojectA/57.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/2/org/mainco/subco/subco/57.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/2/org/mainco/subco/projectB/57.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/2/org/mainco/subco/projectC/57.0.0-SNAPSHOT/maven-metadata.xml
[INFO]
您可以通过在$USER_HOME/.m2/settings.xml
文件中配置存储库来控制更新频率。具体来说,将updatePolicy
更改为导致更新频率降低的值。
This Stackoverflow answer有更多细节。
如果您使用离线标志,它将使用本地仓库中的库。
mvn clean install -o
如果要更新某些jar而不是本地安装的快照,则应使用the -nsu
(--no-snapshot-updates
) flag来阻止Maven从主存储库中获取最新的快照。使用-o
将阻止它从远程存储库获取其他升级和(通常)必要的maven jar。
根据我的经验,一旦maven“决定”它必须从特定服务器下载文件,这些都不起作用。
配置updatePolicy是另一个建议,但为了成功,您应该转到jar所在的本地存储库内的文件夹,并删除名为“_maven.repositories”的文件。删除以“.lastUpdated”结尾的文件。如果您使用的是eclipse插件,也可以使用“m2e-lastUpdated.properties”。
您可以在中设置存储库
的settings.xml
你的maven安装文件。
在Maven configuration网页上阅读更多相关信息。
以上是关于如何防止Maven每次都下载工件?的主要内容,如果未能解决你的问题,请参考以下文章