Maven-Abhängigkeiten schlagen mit einem 501-Fehler fehl

154

Kürzlich sind in Jenkins ausgeführte Maven- Build-Jobs mit der folgenden Ausnahme fehlgeschlagen, dass sie keine Abhängigkeiten von Maven Central abrufen konnten und HTTPS verwenden sollten . Ich bin nicht sicher, wie ich die Anforderungen von HTTP zu HTTPS ändern soll . Könnte mich jemand in dieser Angelegenheit führen?

[FEHLER] Nicht auflösbare Build-Erweiterung:
Plugin org.apache.maven.wagon:wagon-ssh:2.1oder eine seiner Abhängigkeiten konnte nicht behoben werden:
Fehler beim Sammeln von Abhängigkeiten für org.apache.maven.wagon:wagon-ssh:jar:2.1 ():
Fehler beim Lesen des Artefaktdeskriptors für org.apache.maven.wagon:wagon-ssh:jar:2.1: Das
Artefakt konnte nicht org.apache.maven.wagon:wagon-ssh:pom:2.1von / nach zentral übertragen werden ( http: //repo.maven.apache). org / maven2 ):
Datei konnte nicht übertragen werden: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom .
Der Rückkehrcode lautet:501, ReasonPhrase:HTTPS Required. -> [Help 2]

Das Warten, bis Jenkins das Sammeln des data[ERROR]
Plugins org.apache.maven.plugins:maven-clean-plugin:2.4.1oder einer seiner Abhängigkeiten abgeschlossen hat, konnte nicht behoben werden:
Fehler beim Lesen des Artefaktdeskriptors für org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1:
Artefakt konnte nicht org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1von / nach zentral übertragen werden ( http://repo.maven.apache.org/maven2 ):
Fehler beim Übertragungsdatei: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom .
Der Rückkehrcode lautet:501 , ReasonPhrase:HTTPS Required. -> [Help 1]

Arunan Sugunakumar
quelle
5
Sie verwenden die URL repo.maven.apache.org/maven2 , um eine Verbindung zum Maven Central herzustellen. Verwenden Sie stattdessen repo.maven.apache.org/maven2, dh verwenden Sie die https-Verbindung
Manjunath HM
2
Überprüfen Sie Ihre settings.xmlin Jenkins für die Maven Central URL
Varontron
Hallo Manjunath, ich habe das gleiche Problem. Wissen Sie, wie Sie Maven zwingen können, HTTPS anstelle von HTTP zu verwenden
Lahiru Madushanka
@Lahiru Madushanka gehen Sie die Links durch, damit Sie eine Antwort auf Ihre Frage erhalten. Stackoverflow.com/questions/25393298/…
Manjunath HM
1
Ich habe die Maven-Version auf 3.6.3 geändert und sie zeigt immer noch den gleichen Fehler
dhS

Antworten:

129

Der Grund für den beobachteten Fehler wird in Central 501 HTTPS Required erläutert

Ab dem 15. Januar 2020 unterstützt das zentrale Repository keine unsichere Kommunikation mehr über einfaches HTTP und erfordert, dass alle Anforderungen an das Repository über HTTPS verschlüsselt werden.

Es sieht so aus, als würden die neuesten Versionen von Maven (versucht mit 3.6.0, 3.6.1) bereits standardmäßig die HTTPS-URL verwenden.

Hier sind die Daten, an denen die Hauptrepositorys wechseln:

Ihre Java-Builds werden möglicherweise ab dem 13. Januar unterbrochen (wenn Sie den Repo-Zugriff noch nicht auf HTTPS umgestellt haben).

Update: Es scheint, als würde von maven 3.2.3 auf maven central über HTTPS zugegriffen. Siehe https://stackoverflow.com/a/25411658/5820670

Maven-Änderungsprotokoll ( http://maven.apache.org/docs/3.2.3/release-notes.html )

Farasath
quelle
26
Hallo! Ich bin der ursprüngliche Forscher, der diese branchenweite Initiative ins Leben gerufen hat. Mein Blogbeitrag zu den wichtigen Daten finden Sie auch hier: medium.com/@jonathan.leitschuh/…
Jonathan Leitschuh
1
@ JonathanLeitschuh bitte schreibe eine vollständige Antwort, über die abgestimmt und die angenommen werden kann ...
Thorbjørn Ravn Andersen
1
Ich verwende Maven 3.6.0 unter Ubuntu 18.04, aber es scheint keine https-URL zu verwenden.
Ashutosh
@Ashutosh: Gleiches gilt für Maven 3.6.1 unter Ubuntu 19.10. Ich bin mir nicht sicher, warum dies der Fall ist, es könnte ein Ubuntu-Patch sein, aber warum sollten sie das tun?). Um dies zu lösen, verwenden Sie eine der folgenden Antworten, um die settings.xmlDatei zu aktualisieren (und stimmen Sie sie bitte ab, da dies die richtige Lösung ist, außer die Verwendung eines gepatchten Maven).
Guss
Daher habe ich explizit die settings.xmlVerwendung von HTTPS-Repositorys konfiguriert. Womit es möglich ist wget, aber aus einem sehr seltsamen Grund mvn archetype:generate -X(um nur zu testen, ob Abhängigkeiten heruntergeladen werden können), wird immer noch gedruckt, auf welche Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom Hilfe zugegriffen wird.
Giorgi Tsiklauri
61

Ich stehe vor dem gleichen Problem. Es gibt zwei Lösungen, die ich ausprobiert habe, und beide funktionieren gut für mich.

  • Aktualisieren Sie das Maven-Versions-Repository (Maven-Version> = 3.2.3)
  • Beschränken Sie die aktuelle Maven-Version auf die Verwendung von HTTPS-Links.

Aktualisieren Sie das Maven-Versions-Repository:

Laden Sie die Apache Maven-Binärdatei herunter, die die Standard-https-Adressen enthält ( Apache Maven 3.6.3-Binärdatei ). Öffnen Sie das Dialogfeld Optionen in den Tools der NetBeans-Menüleiste ( Java Maven- Dialogansicht ). Wählen Sie im Maven Home List Box ( Ansicht des Maven Home List Box ) die Option Durchsuchen . Nach dem Hinzufügen der neu heruntergeladenen Apache Maven-Version ( aktualisierte Maven Home List Box-Ansicht ) wird das Projekt erfolgreich erstellt und ausgeführt.

Beschränken Sie die aktuelle Maven-Version auf die Verwendung von HTTPS-Links:

Fügen Sie den folgenden Code in die Datei pom.xml Ihres Projekts ein.

<project>
      ...
    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <updatePolicy>never</updatePolicy>
            </releases>
        </pluginRepository>
    </pluginRepositories>
    <repositories>
        <repository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
</project>
Muhammad umer
quelle
Ich hatte das zentrale Repository, aber nicht das zentrale Plugin-Repository. Das hat es für mich behoben.
ponder275
1
Beschränken Sie die aktuelle Maven-Version auf die Verwendung von HTTPS-Links: hat bei mir funktioniert.
Mohammad Anas
In meinem Fall habe ich den Teil <pluginRepository> verpasst und bei der Verwendung von Archetypen wurden Fehler angezeigt, da für die Plugins standardmäßig http verwendet wurde.
user1708042
Dies hat es auch für mich behoben, aber ich habe einen weiteren Fehler "Schwerwiegende Warnung erhalten: protocol_version" erhalten und musste zu Java 8 wechseln, um das Problem zu beheben, falls jemand auf dasselbe Problem stößt.
Kim Tang
Ich bin froh, dass ich dazu beigetragen habe, dass die Gegenstimme das Unentschieden gebrochen hat. Diese Antwort befasste sich mit dem ähnlichen Problem, das ich hatte.
Brian Risk
36

Ab dem 15. Januar 2020 unterstützt das zentrale Repository keine unsichere Kommunikation mehr über einfaches HTTP und erfordert, dass alle Anforderungen an das Repository über HTTPS verschlüsselt werden .

Wenn Sie diesen Fehler erhalten, müssen Sie alle URL-Verweise auf Maven Central durch ihre kanonischen HTTPS-Gegenstücke ersetzen.

( Quelle )

Wir haben die folgenden Änderungen in build.gradle meines Projekts vorgenommen:

Alt:

repositories {
   maven { url "http://repo.maven.apache.org/maven2" }
}

Neu:

repositories {
   maven { url "https://repo.maven.apache.org/maven2" }
}
Ashwani
quelle
Ja, ich habe in der Datei settings.xml ersetzt, aber leider funktioniert es immer noch nicht. Mache ich es richtig oder muss eine andere Datei geändert werden?
Sumeet Vishwas
@SumeetVishwas Können Sie eine Beispieldatei settings.xml freigeben?
Arunan Sugunakumar
3
@ArunanSugunakumar Ich habe in settings.xml nichts geändert. Alles was Sie brauchen, um in POM zu ändern. Aktualisieren Sie das zentrale Repository von Maven. Ich habe das Beispiel des zentralen Repositorys in den Antwort-Thread gestellt. Bitte finden Sie unten
Sumeet Vishwas
1
In der Frage des OP heißt es: "Ich bin nicht sicher, wie ich die Anforderungen von HTTP in HTTPS ändern soll." Diese Antwort geht nicht auf die Frage ein.
wchargin
28

Versuchen Sie, die unten stehende URL in einem beliebigen Browser zu drücken. Es wird 501 zurückgeben

http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom

Bitte versuchen Sie es mit https. Es wird eine pom.xml-Datei heruntergeladen:

https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom

Bitte fügen Sie es ( https://repo.maven.apache.org/maven2 ) in die Datei settings.xml ein:

<repositories>
   <repository>
      <id>Central Maven repository</id>
      <name>Central Maven repository https</name>
      <url>https://repo.maven.apache.org/maven2</url>
   </repository>
</repositories>
Sarjit
quelle
1
Können Sie bitte ein Beispiel für eine vollständige settings.xml angeben, da ich erfolglos versucht habe, die oben genannten Elemente in die Datei aufzunehmen?
Jhertz
Ich habe diese Antwort gefunden, die den Speicherort in der Datei klarer gemacht hat. Jetzt funktioniert sie: stackoverflow.com/a/59784045/3120576
jhertz
22

Aktualisieren Sie das zentrale Repository von Maven und verwenden Sie https anstelle von http .

<repositories>
    <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://repo.maven.apache.org/maven2</url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>
Sumeet Vishwas
quelle
Ich habe dies in Pom versucht und es hat gut funktioniert: <repositorys> <repository> <id> zentrales Repo https </ id> <name> zentrales Repository Https </ name> <url> repo.maven.apache.org/maven2</ URL > </ Repository> </ Repositorys>.
lam
1
Vielen Dank. Dies funktioniert in Ubuntu 18.10 mit Netbeans. Musste Maven auf die neueste Maven-Version in Netbeans einstellen. Wo haben Sie diese Lösung gefunden?
Sanal S
Möglicherweise müssen Sie auch das Plugin-Repository aktualisieren. Zumindest musste es auch für mich getan werden, um repariert zu werden.
Kim Tang
16

Ich habe eine Neuinstallation von Maven / Java auf einem Docker-Container verwendet.

Für mich musste ich cd $M2_HOME/confdie settings.xmlDatei dort bearbeiten . Fügen Sie den folgenden Block hinzu<mirrors>...</mirrors>

<mirror>
  <id>central-secure</id>
  <url>https://repo.maven.apache.org/maven2</url>
  <mirrorOf>central</mirrorOf>
</mirror>
mehulmpt
quelle
Könnten Sie bitte Ihre Docker-Datei teilen? Ich habe das gleiche Problem, aber ich weiß nicht, wie ich das beheben soll!
Han Van Pham
@ HanVanPham Ich habe meinen Maven auf die neueste Version aktualisiert. Dieses http-Problem wurde behoben.
Mehulmpt
Für mich hat auch die Anpassung des zentral-sicheren Blocks in der lokalen Datei settings.xml ($ HOME / .m2 / settings.xml) einwandfrei funktioniert.
t3az0r
13

Ich habe eine veraltete Version von Maven (3.0.3 und 3.1) verwendet. Diese älteren Versionen unterstützen keine http-Repositorys mehr (wie oben erwähnt). Ein Upgrade auf Maven 3.6 war für mich das Problem.

JC Lombard
quelle
1
Ab maven 3.2.3 greift Central standardmäßig über HTTPS auf maven.apache.org/docs/3.2.3/release-notes.html
farasath
12

Maven wechselt zu HTTPS und deaktiviert den HTTP-Zugriff

Kurzgeschichte: Ab dem 15. Januar 2020 unterstützt das Maven Central-Repository keine HTTP-Verbindungen mehr (andere Repositorys tun dasselbe). Daher geben Sie Ihre Maven / Gradle-Einstellungen an, um eine HTTPS-URL zu verwenden.

Lösung:

Sie können einen der folgenden drei Ansätze wählen.

  1. Fügen Sie ein Repository in die pom.xmlDatei Ihres Projekts ein

    <project>
    ...
      <repositories>
        <repository>
          <id>central maven repo</id>
          <name>central maven repo https</name>
          <url>https://repo.maven.apache.org/maven2</url>
        </repository>
      </repositories>
    </project>
  2. Fügen Sie das Repository einem Profil in der settings.xmlDatei hinzu.

    <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>
  3. Aktualisieren Sie Ihre Maven-Version auf eine neue Version, die standardmäßig https-Werte verwendet. Der letzte in diesem Moment 3.6.3 Hier herunterladen

Für Gradle:

Ersetzen Sie nur die URL für die HTTPS-Version.

repositories {
   maven { url "https://repo.maven.apache.org/maven2" }
}
Adam M. Gamboa G.
quelle
Müssen Sie zum Upgrade (3.3.9 auf 3.6.3) zuerst die ältere Version vollständig deinstallieren? Oder einfach die neueste Version installieren?
BigRedEO
1
@BigRedEO Sie können mehr als eine Maven-Version in Ihrer Umgebung haben. Ihre $M2_HOMEoder Ihre $PATH env-Variablen verweisen jedoch nur auf eine von ihnen. Dies ist Ihre Standard-Maven-Version. Ich würde es vorziehen, die ältere zu deinstallieren, bevor ich eine neuere installiere. Das hängt jedoch von Ihren Bedürfnissen ab.
Adam M. Gamboa G.
10

Ich wurde folgendes Codesegment zu settings.xml hinzugefügt und das Problem wurde behoben.

<mirrors>
    <mirror>
        <id>maven-mirror</id>
        <name>Maven Mirror</name>
        <url>https://repo.maven.apache.org/maven2</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>
Samith
quelle
9

Ich habe das gleiche Problem, aber ich verwende GitLab anstelle von Jenkins. Die Schritte, die ich tun musste, um das Problem zu lösen:

  1. Mein Projekt befindet sich in GitLab, daher wird die .yml-Datei verwendet, die auf ein Docker-Image verweist, das ich kontinuierlich integrieren muss, und das verwendete Image enthält die URLs http: // maven . Also habe ich das in https: // maven geändert .
  2. Das gleiche Dockerfile-Image hatte eine ältere Version von Maven 3.0.1, die mir über Nacht Probleme bereitete. Ich habe die Docker-Datei aktualisiert, um die neueste Version 3.6.3 zu erhalten
  3. Anschließend habe ich dieses Image in meinem Online-Repository bereitgestellt und die Maven-Datei meines Maven-Projekts aktualisiert, um dieses neue Image zu verwenden.
  4. Zuletzt habe ich die POM-Datei meines Hauptprojekts aktualisiert, um auf https: // maven ... anstatt auf http: // maven zu verweisen

Mir ist klar, dass dies spezifischer für mein Setup ist. Aber ohne alle oben genannten Schritte würde ich weiterhin diese Fehlermeldung erhalten Return code is: 501 , ReasonPhrase:HTTPS Required

CAM_344
quelle
Könnten Sie bitte Ihre Docker-Datei teilen?
Han Van Pham
8

Wie in anderen Antworten angegeben, muss https jetzt Anforderungen an Maven Central stellen, während ältere Versionen von Maven http verwenden .

Wenn Sie nicht auf Maven 3.2.3+ aktualisieren möchten / können, können Sie eine Problemumgehung durchführen, indem Sie den folgenden Code in Ihre MAVEN_HOME \ conf \ settings.xml im <profiles>Abschnitt einfügen :

<profile>
    <id>maven-https</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <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> 
</profile>

Dies ist immer eine aktive Einstellung, es sei denn, Sie deaktivieren / überschreiben sie bei Bedarf in Ihrem POM.

Ellrohir
quelle
7

Wenn Sie für alle Unternehmenscodierer diesen Fehler erhalten, bedeutet dies im Idealfall, dass Ihre Codebasis immer noch aus einer Open-Source-Community erstellt wird. Sie müssen das "zentrale" Repository mit Ihrem internen Maven-Repository-Manager überschreiben.

Sie können zu Ihrer settings.xml gehen und Ihre zentrale Repository-URL von http: // nach https: // überschreiben

<M2_HOME>/conf/settings.xml

Suchen Sie die Spiegelabschnitte und fügen Sie den folgenden Eintrag hinzu:

    <mirror>
     <id>other-mirror</id>
     <name>Other Mirror Repository</name>
     <url>https://other-mirror.repo.other-company.com/maven2</url>
     <mirrorOf>central</mirrorOf>
    </mirror>

Wenn Sie im URL-Bereich entweder http://repo1.maven.org/maven2/ oder http://repo.maven.apache.org/maven2/ verwendet haben dann

Ersetzen Sie http://repo1.maven.org/maven2/ durch https://repo1.maven.org/maven2/

Ersetzen Sie http://repo.maven.apache.org/maven2/ durch https://repo.maven.apache.org/maven2/

Idealerweise müssen Sie hier die URL Ihres Unternehmens für die Quellcodeverwaltung / das Repository verwenden. Da dies jeden Kontakt mit der Open Source Maven Repository Community blockiert.

Wie in anderen Antworten erwähnt, unterstützt das zentrale Maven-Repository ab dem 15. Januar 2020 keine unsichere Kommunikation über einfaches HTTP.

Bhavik Shah
quelle
Nach dem Hinzufügen des Spiegels im Spiegelbereich habe ich einen Fehler erhalten, dass der Peer nicht authentifiziert wurde. Was sollte ich jetzt tun? Vielen Dank!
Dimson
@dimson Dies bedeutet, dass Sie versucht haben, eine Verbindung mit https herzustellen, aber das Zertifikat zur Authentifizierung fehlte, wahrscheinlich weil Java es nicht hat. Importieren Sie das Zertifikat aus dem Repository in den Java-Keystore oder aktualisieren Sie Java.
Tibortru
@tibortru Thanx Man, löse das Problem bereits. Ich habe diese Eigenschaften zu maven in IDE hinzugefügt: maven.wagon.http.ssl.insecure = true maven.wagon.http.ssl.allowall = true maven.wagon.http.ssl.ignore.validity.dates = true https. Protokolle = TLSv1, TLSv1.1, TLSv1.2. Danach funktioniert alles gut.
Dimson
Ja, das ist der andere Weg. Nicht sicher :)
tibortru
7

Für mich (Corporate Coder) hat settings.xmldas Problem auch durch Hinzufügen eines Spiegel-Repositorys behoben. Ich benutze Maven auch in einem Docker-Container.

<mirrors>
    <mirror>
        <id>https-mirror</id>
        <name>Https Mirror Repository</name>
        <url>https://repo1.maven.org/maven2</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>
Oscar Drai
quelle
Können Sie mir zeigen, wo wir die Datei settings.xml @Oscar finden?
Han Van Pham
Sicher! In unserer Docker-Datei legen wir sie zuerst in einem temporären Ordner wie dem folgenden ab: echo "<Einstellungen> <Spiegel> .... </ Spiegel> </ Einstellungen>"> /tmp/maven-settings.xml. Dann führen wir maven mit der Option "-s" aus und übergeben den Pfad zur Einstellungsdatei wie folgt: "mvn -s /tmp/maven-settings.xml clean". Ich hoffe es hilft!
Oscar Drai
@ han-van-pham finden Sie es in $ HOME / .m2 /. Wenn nicht, erstellen Sie es dort.
16.
4

Verwenden von Ubuntu 16.04, Java 1.8.0_201.

Ich habe den alten Maven deinstalliert und Maven 3.6.3 installiert. Ich habe immer noch den Fehler erhalten, dass Maven-Abhängigkeiten mit einem 501-Fehler fehlschlagen.

Es wurde erkannt, dass es sich möglicherweise um ein Truststore- / Keystore-Problem handelt, das mit der Anforderung von https verbunden ist. Es wurde festgestellt, dass Sie jetzt -Djavax-Optionen mithilfe einer jvm.config-Datei konfigurieren können, siehe: https://maven.apache.org/configure.html .

Da ich auch Tomcat verwende, habe ich die Keystore- und Truststore-Konfiguration von Tomcat (setenv.sh) in meine jvm.config kopiert und dann hat es funktioniert!

Es gibt auch eine Option, um diese Konfiguration in 'export MAVEN_OPTS' zu übergeben (bei Verwendung von mvn generate), aber obwohl dies den 501-Fehler stoppte, wurde ein anderer erstellt: Es wurde eine POM-Datei erwartet.

Das Erstellen einer separaten jvm.config-Datei funktioniert einwandfrei. Legen Sie sie einfach im Stammverzeichnis Ihres Projekts ab.

Hoffentlich hilft das jemandem, ich habe den ganzen Tag gebraucht, um es herauszufinden!

user2677034
quelle
4

Das gleiche Problem tritt auch bei jcenter auf .

Ab dem 13. Januar 2020 ist Jcenter nur noch bei HTTPS verfügbar.

Projekte, deren Abhängigkeiten dieselbe verwenden, werden Probleme haben. Führen Sie für schnelle Korrekturen die folgenden Schritte in Ihrem build.gradle aus

anstatt

repositories {
jcenter ()
//others
}

benutze das:

repositories {
jcenter { url "http://jcenter.bintray.com/"}
//others
}
Saurabh Gupta
quelle
4

Der Fehler:

Datei konnte nicht übertragen werden: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom .

Der Rückkehrcode lautet: 501, ReasonPhrase: HTTPS Erforderlich.

Ursachenanalyse:

Maven Central erwartet, dass die Clients https verwenden, aber der Client stellt nur eine einfache HTTP-Anfrage.

Daher war die Anforderung zum Herunterladen des Pakets mit dem Namen "wagon-ssh-2.1.pom" fehlgeschlagen.

Wie behebe ich das Problem?

Ersetzen Sie die URL " http://repo.maven.apache.org/maven2 ".

mit " https://repo.maven.apache.org/maven2 "

in der Datei pom.xml oder der Datei build.gradle des Projekts.

Gopinath
quelle
2
wo ersetze ich diese url
dhS
3

Teilen Sie dies für den Fall, dass jemand es benötigt:

Alte Gradle-Konfiguration (ohne Gitlab, Docker-Bereitstellungen, für einfache Projekte)

repositories {
google()
jcenter()

maven { url "http://dl.bintray.com/davideas/maven" }
maven { url 'https://plugins.gradle.org/m2/' }
maven { url 'http://repo1.maven.org/maven2' }
maven { url 'http://jcenter.bintray.com' }
}

Neue Konfiguration:

repositories {
google()
jcenter()

maven { url "https://dl.bintray.com/davideas/maven" }
maven { url 'https://plugins.gradle.org/m2/' }
maven { url 'https://repo1.maven.org/maven2' }
maven { url 'https://jcenter.bintray.com' }
}

Beachten Sie die https. Viel Spaß beim Codieren :)

BMU
quelle
3

Meine aktuelle Umgebung unterstützt HTTPS nicht. Das Hinzufügen der unsicheren Version des Repos hat mein Problem gelöst: http://insecure.repo1.maven.org gemäß Sonatype

    <repositories>
       <repository>
          <id>Central Maven repository</id>
          <name>Central Maven repository insecure</name>
          <url>http://insecure.repo1.maven.org</url>
       </repository>
    </repositories>
Rega
quelle
-3

Fügen Sie das folgende Repository in pom.xml hinzu .

<project>
...
    <repositories>
        <repository>
            <id>central</id>
            <name>Maven Plugin Repository</name>
            <url>https://repo1.maven.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
...
</project>
Sathesh
quelle
Dies wird das gleiche Problem verursachen, da es verwendethttp
Yudhistira Arya
1
Ich habe es in Pom versucht und es funktioniert
Sathesh
Ich habe es auch versucht und arbeite x2
Javier J Solis Flores