Не удалось выполнить цель проекта XX. Не удалось разрешить зависимости для проекта. Код возврата: 501, ReasonPhrase: Требуется HTTPS.

Я компилирую свое репо для проекта 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

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

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

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


person GeoFresher    schedule 17.01.2020    source источник
comment
Если вы используете последнюю версию Maven, она вам не понадобится. (кстати, идентификатор репозитория должен быть central). Скорее всего, одна из ваших зависимостей имеет явную перезапись репозитория в своем файле pom.   -  person Robert Scholte    schedule 17.01.2020
comment
@RobertScholte, ты был прав, это было с удостоверением личности. Спасибо :)   -  person GeoFresher    schedule 20.01.2020


Ответы (3)


Я столкнулся с той же проблемой, когда работал над j-ee, работающим на Payara. Чтобы создать свой проект, убедитесь, что вы сначала остановили свой сервер Payara.

person Kario Kevo    schedule 21.11.2020


Вам следует избегать добавления / обновления репозиториев в 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>
person Robert Scholte    schedule 21.01.2020