无法执行项目 XX 上的目标 无法解析项目的依赖项.返回代码为:501,原因短语:HTTPS 必需



我正在为 maven 项目编译我的存储库。我收到一些依赖项错误。我知道 maven 中央存储库不再支持通过纯 HTTP 进行不安全的通信,并要求对存储库的所有请求都通过 HTTPS 进行加密。这是我尝试添加以下代码的内容

绒球.xml

我的项目:

<repositories>
<repository>
<id>central maven repo</id>
<name>central maven repo https</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</repositories>

并在

../maven/conf/settings.xml

添加了以下内容:

<profile>
<id>my profile</id>
<repositories>
<repository>
<id>central maven repo</id>
<name>central maven repo https</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</repositories>
</profile

但是似乎没有任何效果,我得到了同样的错误。在某处我看到我需要更改设置.xml在 m2 路径中

~/.m2/设置.xml

但在我的道路上,我发现:

~/.m2> ls
repository  wrapper

错误如下:

Failed to execute goal on project XXX: Could not resolve dependencies for project com.mycompany:XXX:war:1.0-SNAPSHOT: Failed to collect dependencies for [org.mongodb:mongo-java-driver:jar:3.6.2 (compile), javax.servlet:javax.servlet-api:jar:4.0.0 (compile), org.codehaus.jackson:jackson-mapper-asl:jar:1.9.9 (compile), com.google.guava:guava:jar:14.0 (compile), commons-lang:commons-lang:jar:2.1 (compile), org.geotools:gt-geojson:jar:22.0 (compile), org.geotools:gt-metadata:jar:22.0 (compile), org.geotools:gt-geojsondatastore:jar:20.2 (compile), com.xx:Demo:jar:1.0 (compile), javax:javaee-web-api:jar:7.0 (provided), org.apache.commons:commons-lang3:jar:3.9 (compile), com.googlecode.json-simple:json-simple:jar:1.1 (compile), javax.xml.bind:jaxb-api:jar:2.2.11 (compile), com.sun.xml.bind:jaxb-core:jar:2.2.11 (compile), com.sun.xml.bind:jaxb-impl:jar:2.2.11 (compile), javax.activation:activation:jar:1.1.1 (compile)]: Failed to read artifact descriptor for org.geotools:gt-geojson:jar:22.0: Could not transfer artifact org.geotools:gt-geojson:pom:22.0 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/geotools/gt-geojson/22.0/gt-geojson-22.0.pom. Return code is: 501 , ReasonPhrase:HTTPS Required. -> [Help 1]

不知道我做错了什么,错误仍然存在。

我在处理在payara上运行的j-ee时遇到了同样的问题。要构建您的项目,请确保首先停止您的 payara 服务器

由于pom.xml文件本身可能包含<repository>元素,因此您的传递依赖项完全有可能指定指向以http开头的 Maven 存储库的 URL。 追踪这些可能很困难。

您应该避免在pom中添加/更新存储库,有关详细信息,请参阅 https://blog.sonatype.com/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/。

解决此问题的首选方法是:

<settings>
...
<mirrors>
<mirror>
<id>central-https</id>
<url>https://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
...
</settings>

相关内容

最新更新