使用Maven构建的时候,会提示:
Downloading from central: https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/maven-metadata.xml
然后显示time out。
很奇怪,maven仓库配置了私有库,,并且在maven setting.xml中配置了mirror(阿里云的镜像),但是,经常会遇到执行mvn命令的时候,会提醒下载不下来。
原因:
所有自定义pom.xml都是继承自super pom,spuper pom中有如下内容:
<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>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
故当maven下载资源时,会优先使用http://repo.maven.apache.org/maven2去下载,导致内网用户各种报错!
解决方式:在项目的pom.xml中添加如下一段代码:
<repositories>
<repository>
<id>central</id>
<url>http://host:port/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://host:port/content/groups/public</url>
</pluginRepository>
</pluginRepositories>
重新build,即可。