设置文件的默认位置是:
settings.xml 文件可能存在两个位置:
- Maven 安装:$M2_HOME/conf/settings.xml
- 一个用户的安装:${user.home}/.m2/settings.xml
M2_HOME
是maven安装目录的路径。默认值可以在maven 安装说明中找到:
- 赢XP/2K:
C:\Program Files\Apache Software Foundation\apache-maven-3.1.0
- 基于Unix:
/usr/local/apache-maven/apache-maven-3.1.0
或打开命令提示符/终端并输入:
- 赢XP/2K:
echo %M2_HOME%
- 基于Unix:
echo $M2_HOME
要更改中央存储库的位置,可以定义其镜像。打开你的settings.xml
并添加:
<settings>
...
<mirrors>
<mirror>
<id>myMirrorId</id>
<name>mirror of a central repo</name>
<url>http://server</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
...
</settings>
现在,当使用调试输出 () 从项目根文件夹运行 maven 时,-X
您应该在控制台输出的开头看到:
[DEBUG] Using mirror myMirrorId (http://server) for central (http://repo.maven.apache.org/maven2).
默认的中央仓库有id
中央,这就是为什么这是 mirrorOf
标签的价值。我的默认中央存储库是您要设置的那个。
我也想知道为什么来自同一网络的不同计算机要下载不同的存储库。
如果您评论用户设置文件中的所有内容(只留下外部settings
标签)并运行默认全局设置文件(基本上是空的):
mvn help:effective-settings
将转储几乎空的设置。在构建项目时,maven 仍然知道中央 repo 的位置,因为每个 pom 文件都继承自超级 pom,并且这是定义默认中央 repo URL 的位置:
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
超级 pom 位于$M2_HOME/lib/maven-model-builder-<VERSION>.jar
下/org/apache/maven/model/pom-4.0.0.xml
。
正如 Robert Scholte 所告知的,从 3.0.4 开始,默认 URL 已从 更改http://repo1.maven.org/maven2
为http://repo.maven.apache.org/maven2