Artefakt org.apache.maven.plugins konnte nicht übertragen werden: maven-surefire-plugin: pom: 2.7.1 von / nach central (http://repo1.maven.org/maven2)

75

Ich habe ein neues Maven-Projekt in SpringSource Tool Suite erstellt. Ich erhalte diesen Fehler in meinem neuen Maven-Projekt.

Fehler beim Übertragen von org.apache.maven.plugins: maven-surefire-plugin: pom: 2.7.1 von http://repo1.maven.org/maven2 wurde im lokalen Repository zwischengespeichert. Die Auflösung wird erst im Aktualisierungsintervall erneut versucht von Central ist abgelaufen oder Updates werden erzwungen. Ursprünglicher Fehler: Artefakt konnte nicht übertragen werden org.apache.maven.plugins: maven-surefire-plugin: pom: 2.7.1 von / nach central ( http://repo1.maven.org/maven2 ): Verbindungszeitüberschreitung

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.test.app</groupId>
  <artifactId>TestApp</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>TestApp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>
 <proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>
      <password>pass</password>
      <host>ip</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>    
  </proxies> 
  <servers>  
  </servers>
    <mirrors>   
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo1.maven.org/maven2/</url>
    </mirror>    
  </mirrors>  
<profiles>
 </profiles>
</settings>

Bitte beachten Sie, dass ich es erstellen kann. Fehler wird in pom.xml in IDE angezeigt. Irgendwelche Lösungen?

Sajith
quelle
8
Stehst du hinter dem Proxy?
Sam R.
Müssen Sie einen Proxy einrichten?
Derek
2
Sind Sie sicher, dass Sie nicht hinter einem Proxy stehen?
Anubhab
1
Zeigen Sie uns die Ausgabe von mvn help:effective-settingssowie Ihre pom.xml.
Carlspring
1
Ausführen von IDE (STS)
Sajith

Antworten:

65

Vereinfachen Sie die Dinge, indem Sie Folgendes verwenden settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">

 <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>  <!-- Put your username here -->
      <password>pass</password>  <!-- Put your password here -->
      <host>123.45.6.78</host>   <!-- Put the IP address of your proxy server here -->
      <port>80</port>            <!-- Put your proxy server's port number here -->
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts> <!-- Do not use this setting unless you know what you're doing. -->
    </proxy>    
  </proxies> 
</settings>

Platzieren Sie es unter Linux / Unix unter ~/.m2/settings.xml. Unter Windows platzieren Sie es unter c:\documents and settings\youruser\.m2\settings.xmloder c:\users\youruser\.m2\settings.xml.

Sie brauchen nicht die <mirrors/>, <profiles/>und <settings/>Abschnitte, wenn Sie wirklich wissen , was sie für.

Carlspring
quelle
Vielen Dank für Ihre Hilfe. Aber es wird immer noch der gleiche Fehler angezeigt. Beachten Sie, dass ich ihn erstellen kann. Fehler ist nur in der IDE.
Sajith
1
Alles klar. Stellen Sie in Ihrer IDE sicher, dass sie auf dieselbe settings.xmlDatei verweist , da Ihre Proxy-Einstellungen anscheinend nicht von Ihrer IDE übernommen werden.
Carlspring
Ich habe das gleiche Problem, als ich Eclipse im Büro neu gestartet habe. Es hat gut funktioniert, wenn ich von zu Hause aus gearbeitet habe. Es hatte also mit Proxy-Einstellungen für das Unternehmensnetzwerk zu tun. Nachdem die Datei settings.xml wie beschrieben erstellt wurde, funktionierte sie wie ein Zauber.
Gopal Bairwa
56

Dies ist für mich gelöst, wenn ich maven aktualisiere und die Option " Aktualisierung von Snapshots / Releases erzwingen " in Eclipse aktiviere . Dies löscht alle Fehler. Klicken Sie also mit der rechten Maustaste auf Projekt -> Maven -> Projekt aktualisieren und aktivieren Sie die obige Option -> OK . Hoffe das hilft dir.

Peter T.
quelle
1
Danke, es hat bei mir funktioniert. Ich habe Eclipse von einem Computer auf einen anderen kopiert und der lokale Maven-Cache scheint für mich das Problem zu sein. Als ich den Sanpshot aktualisiert habe, hat es bei mir funktioniert.
Manoj
2
Ich konnte diese Option in meinem Versino von Elcipse (Photon) nicht sehen
Weaveoftheride
Manchmal hat sich die Adresse des Proxys geändert und wir wissen es nicht.
Willy Makend
1
Ich habe mich dem Problem gestellt : Failure to transfer xalan:xalan:jar:2.7.1 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact xalan:xalan:jar:2.7.1 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org. Aber gelöst von Force Update of Snapshots/Releases.
Yash
26

Ihr Maven kann anscheinend keine Verbindung zum Maven-Repository unter http://repo1.maven.org/maven2 herstellen .

Wenn Sie einen Proxy verwenden und mit dem Browser auf den Link zugreifen können, müssen dieselben Einstellungen auf Spring Source Tool Suite (wenn Sie in der Suite ausgeführt werden) oder Maven angewendet werden.

Für Maven Proxy - Einstellung eines erstellen settings.xmlim .m2Verzeichnis mit folgenden Details

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>PROXY</host>
      <port>3120</port>
      <nonProxyHosts>maven</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

Wenn Sie keinen Proxy verwenden und mit dem Browser auf den Link zugreifen können, entfernen Sie alle oben beschriebenen Proxy-Einstellungen.

Uday Shankar
quelle
6

Für den ersten Fehler können Sie einfach Ihren lokalen Repository-Cache löschen, um den Download aus dem Haupt-Repository zu erzwingen, anstatt den lokalen zu überprüfen.

Für den zweiten Fehler, wenn Sie sich hinter dem Proxy befinden, sollten Sie ihn auf diese Weise konfigurieren. Konfigurieren eines Proxys, andernfalls liegt jetzt ein Netzwerkproblem vor.

Sam R.
quelle
1
NP. Sehen Sie den Fehler in Ihrem POModer in Maven console?
Sam R.
1
Fehler in pom.xml zeigt <Projekt xmlns =“. Maven.apache.org/POM/4.0.0 "xmlns: xsi =" w3.org/2001/XMLSchema-instance "xsi: schema =" maven.apache.org /POM/4.0.0 maven.apache.org/xsd/maven-4.0.0.xsd ">
Sajith
5

Für mich wurde die Lösung nur den spezifischen Ordner gelöscht, aus dem der Fehler ausgegeben wird ~/.m2/repository/org/hsqldb/

Nach dem Löschen des hsqldbOrdners habe ich das Projekt erstellt und alles ist in Ordnung.

Ali786
quelle
Das hat auch bei mir funktioniert. Ich benutze STS. Nichts anderes funktionierte so gut wie Maven-update-force ... oder settings.xml. In meinem Fall war der gemeldete Fehler für das Maven-Surefire-Plugin. Ich habe diesen Ordner gelöscht, der sich unter .m2 / repository / apache / org / maven / plugins / maven-plugins befindet. Danach habe ich das Projekt bereinigt und den Fehler in pom.xml
Ankit
3

Ich empfehle dringend, einen Maven Repository Manager wie Nexus zu verwenden. Es wird Ihnen helfen, mit Maven stabile und reproduzierbare Builds zu erhalten. Da sich der Repository-Manager normalerweise in Ihrem LAN befindet, müssen Sie die Proxy-Einstellungen nicht konfigurieren, sondern einige andere Konfigurationen definieren:

http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html

http://maven.apache.org/repository-management.html

Puce
quelle
3

Was mir geholfen hat, waren die Vorschläge von @carlspring (erstellen Sie eine settings.xml, um Ihren http-Proxy zu konfigurieren):

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">

 <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>user</username>  <!-- Put your username here -->
      <password>pass</password>  <!-- Put your password here -->
      <host>123.45.6.78</host>   <!-- Put the IP address of your proxy server here -->
      <port>80</port>            <!-- Put your proxy server's port number here -->
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts> <!-- Do not use this setting unless you know what you're doing. -->
    </proxy>    
  </proxies> 
</settings>

UND aktualisieren Sie dann den Eclipse-Projekt-Maven, wie von @Peter T vorgeschlagen:

"Aktualisierung von Snapshots / Releases erzwingen" in Eclipse. Dies löscht alle Fehler. Klicken Sie also mit der rechten Maustaste auf Projekt -> Maven -> Projekt aktualisieren und aktivieren Sie die obige Option -> OK. Hoffe das hilft dir.

vsm
quelle
2

Mir scheint, es gab ein Netzwerkproblem. Auf deiner Seite oder auf Maven Seite oder irgendwo in der Mitte. Versuchen Sie es später noch einmal.

Wenn der Fehler dauerhaft ist, überprüfen Sie Ihre Netzwerkeinstellungen. Wenn Sie sich hinter einem Proxy befinden, benötigen Sie Folgendes in Ihrer Datei ~ / .m2 / settings.xml:

<proxies>
    <proxy>
        <id>optional</id>
        <active>true</active>
        <protocol>http</protocol>
        <username>proxyuser</username>
        <password>proxypass</password>
        <host>proxy.host.net</host>
        <port>80</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
</proxies>
Etienne Miret
quelle
2

Ich habe Maven zum ersten Mal seit einiger Zeit auf meiner Maschine verwendet. Could not transfer artifact from/to central (https://repo.maven.apache.org/maven2) No such file or directory Ich habe diesen Fehler erhalten: Das Verzeichnis ~ / .m2 / repository wurde bereinigt. Erleben Sie dieses Problem nicht noch einmal

thepolina
quelle
1
Ja, denken Sie daran, das gleiche Problem zu haben. Ich habe gerade den problematischen Import entfernt und Eclipse neu gestartet, damit es wieder funktioniert.
Tobliug
2

Dies kann auch passieren, wenn eine alte Java-Version verwendet wird, die nicht ordnungsgemäß mit dem jetzt erforderlichen HTTPS-Protokoll kommunizieren kann. Version 8 und höher sollte zum Zeitpunkt des Schreibens funktionieren.

Goddard
quelle
2
Hat mir etwas Zeit gespart. Vielen Dank!
Arthur
1

Wenn Sie sich in Windows OS befinden und keinen Proxy benötigen, löschen Sie die gesamte Proxy-Einstellung

<proxies>
    <proxy>
   ..................
    </proxy>    
  </proxies> 

und ersetzen durch

<proxies/> 

und dann mache einen Maven Clean Build

user3123372
quelle
1
  1. Aktualisieren Sie Maven Project und aktivieren Sie die Option "Aktualisierung von Snapshots / Releases erzwingen". Dadurch werden Fehler entfernt.
  2. Wenn nicht, bereinigt und installiert Maven das Projekt.
  3. Der Fehler wird immer noch nicht behoben. Wiederholen Sie Schritt 1.

Es hat bei mir funktioniert :)

Koffein-Codierer
quelle
1

Wir haben den Proxy auf Unternehmensebene eingestellt.

Nach dem Deaktivieren des Proxys in Internet Explorer wurde dieses Problem behoben (es scheint, als wäre es dann auf Systemebene deaktiviert), sodass alle anderen Browser diese Änderung ebenfalls übernehmen.

Jetzt kann ich MVN-Befehle über die CMD-Eingabeaufforderung ausgeben und habe kein Problem, während z

"Herunterladen: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom "

... das verursachte 'Build-Fehler'

Das Deaktivieren des Proxys im IE muss in unserem Fall täglich erfolgen, da er bei jedem Systemstart festgelegt wird

reg
quelle
1

Dieses Problem wurde durch folgende Schritte gelöst:

  1. Gehen Sie zum lokalen m2-Repository und suchen Sie das Verzeichnis org / apache / maven / plugins / maven-surefire-plugin.
  2. Löschen Sie die problematische Version.
  3. Maven aktualisieren Sie das Projekt und laden Sie es erneut herunter.
user7790949
quelle
1

Für mich war es File > Settings > ... > BuildTools > Maven > Work Offline[■]

LiNKeR
quelle
1

Gehen Sie auf IntelliJ zu Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Tools erstellen -> Maven. Aktivieren Sie das Kontrollkästchen "Snapshots immer aktualisieren" und speichern Sie die Änderungen. Führen Sie dann die mvn-Neuinstallation durch

Meg
quelle
1

Versuchen Sie, https in der Repo-URL zu verwenden: https://repo1.maven.org/maven2

Wenn Sie jdk1.7 oder höher verwenden und Ihr Netzwerk Protokolle auf eine neuere TLS-Version beschränkt, aktivieren Sie TLS1.2: -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

Glaucio
quelle
0

Wenn Sie sich nicht hinter einem Proxy befinden und immer noch ein Verbindungszeitlimit angezeigt wird, überprüfen Sie die Firewall-Einstellungen / Antivirus. Manchmal blockiert eine Firewall die Konnektivität eines Tools (wie Eclipse / STS usw.)

Shuvankar Sarkar
quelle
0

Sie können versuchen, die Proxy-Einstellungen festzulegen:

Datei -> Einstellungen -> Darstellung -> Systemeinstellungen -> HTTP-Proxy -> Automatische Erkennung

Geben Sie dann die Proxy-URL ein.

iQuestProgrammer
quelle