Не удалось выполнить цель для проекта XX Не удалось разрешить зависимости для проекта. Код возврата: 501, ReasonPhrase: требуется HTTPS - PullRequest
1 голос
/ 17 января 2020

Я собираю репозиторий для проекта Maven. Я получаю некоторые ошибки зависимости. Я знаю, что центральный репозиторий 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

Но, похоже, ничего не работает, я получаю та же ошибка. Где-то я увидел, что мне нужно изменить настройки. xml в м2 пути

~ / .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]

Не уверен, что я делаю неправильно, ошибка все еще сохраняется.

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Вам следует избегать добавления / обновления репозиториев в thepom, подробности см. В 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>
0 голосов
/ 17 января 2020

Поскольку pom.xml сами файлы могут содержать <repository> элементов , вполне возможно, что ваша транзитивная зависимость задает URL-адрес для репозитория Maven, который начинается с http. Выследить их может быть сложно.

...