繁体   English   中英

无法在项目 XX 上执行目标无法解析项目的依赖关系。 返回码为: 501 , ReasonPhrase:HTTPS Required

[英]Failed to execute goal on project XX Could not resolve dependencies for project. Return code is: 501 , ReasonPhrase:HTTPS Required

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

pom.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

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

~/.m2/settings.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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM