最近的sonatype启用了maven central来支持https(background information)。我现在已经将以下代码段添加到我的pom.xml中,以强制在任何地方使用https:
<!-- force https -->
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
问题:
更新
对于例如,它看起来不够程序集插件仍使用HTTP:
[INFO] --- maven-assembly-plugin:2.4:single (make-assembly) @ graphhopper-web ---
Downloading: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
答案 0 :(得分:9)
这已在最新的maven 3.2.3中修复!请参阅changelogs!
所以安装maven 3.2.3并执行&rm -rf~ / .m2 / repository / *&#39;为了更好的感觉;)
答案 1 :(得分:6)
在pom.xml文件中添加以下代码,无需删除本地缓存,它的工作原理很像
<distributionManagement>
<repository>
<id>Central Maven repository</id>
<name>Central Maven repository https</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</distributionManagement>
使用终端进行Maven更新
mvn -U clean install
答案 2 :(得分:1)
您可以执行以下操作强制maven使用单个回购:
<settings>
...
<mirrors>
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on https://repo1.maven.org/maven2</name>
<url>https://repo1.maven.org/maven2</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
...
</settings>
您可以找到更多信息here。
如果您愿意,还可以对回购使用身份验证,信息为here。
答案 3 :(得分:0)
要解决此错误,您可以将新存储库添加为https://repo.maven.apache.org/maven2/
答案 4 :(得分:0)
我也遇到了同样的问题,并通过更改代理映射尝试了所有可能的方法,但是没有任何效果,最后我通过在.m2文件夹的setting.xml文件中添加以下代码来解决该问题。>
注意:在没有启用setting.xml代理的情况下,对我来说工作正常。
<settings>
<mirrors>
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on https://repo1.maven.org/maven2</name>
<url>https://repo1.maven.org/maven2</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
答案 5 :(得分:0)
基于@Karussell,您可以删除特定的程序包来修复它,而不必删除整个本地存储库。
rm -rf ~/.m2/repository/org/apache/maven/*
通过上述步骤,您将需要重新下载一些Maven的软件包,而无需重新下载整个软件包。