最近sonatype使maven central支持https(背景信息),现在我在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还会在某处出现吗?
- 这是正确的方法吗?正如我所读到的,我应该在settings.xml中这样做,但是其他使用我的(开源)项目的人不会使用安全连接。
- 更新**
它看起来并不足够,例如,汇编插件仍然使用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
8条答案
按热度按时间pkmbmrz71#
你不需要把它一个一个放到所有的POM中,我建议把下面的代码添加到
<profiles>
节的MAVEN_HOME\conf\settings.xml中:这将始终是一个活动设置,除非您在POM中禁用/覆盖它。
ilmyapht2#
这个问题已经在最新的maven 3.2.3中修复了!请参阅changelogs!
所以安装maven 3.2.3并执行'rm-rf ~/. m2/repository/*'操作会有更好的效果;)
yquaqz183#
您可以执行以下操作来强制maven使用单一回购协议:
您可以找到更多信息here。
如果你愿意,你也可以对repo使用身份验证,信息是here。
cyvaqqii4#
Maven更新终端
7cwmlq895#
我也得到了同样的问题,并尝试了所有可能的方法,通过改变代理Map,但没有工作,最后我得到了解决方案,通过添加以下代码在setting.xml文件在.m2文件夹解决问题。
注意:在setting.xml中不启用代理对我来说工作得很好。
pw9qyyiw6#
基于@Karussell,您可以通过删除特定的包来修复它,而不是删除整个本地存储库。
1.安装/更新maven至最新版本(〉= 3.2.3)
1.转到本地存储库目录(~/.m2/repository)
1.删除org.apache.maven下的所有软件包:第一个月
通过以上步骤,您将需要重新下载一些maven的软件包,但不需要重新下载整个软件包。
sq1bmfud7#
这个问题是在recent question中提出的。由于NetBeans在这里的现有答案中没有具体涉及,我添加了以下内容。
升级Maven。您需要使用的URL(通过
https
协议)将在适当的最新版本的Maven中提供。对于较旧的NetBeans安装,这是最简单的解决方案。对于NetBeans 8.2(使用3.0.5版作为其捆绑的Maven版本),您可以将Maven至少升级到3.2.3版(或更高版本)。
您可以按如下方式检查NetBeans正在使用的Maven版本:
下载并安装Maven-例如,从以下位置下载:
https://maven.apache.org/download.cgi
安装说明如下:
https://maven.apache.org/install.html
返回到上面屏幕截图中显示的NetBeans中的位置。
单击"Maven主页"下拉列表并选择"浏览..."。导航到安装新版本Maven的位置-例如:
现在,您应该可以看到NetBeans中反映的新版本。
单击确定。
最后,重试失败的构建命令。
cbjzeqam8#
要解决此错误,您可以添加新的存储库https://repo.maven.apache.org/maven2/