wake-up-neo.net

"Der POM für ... fehlt, keine Abhängigkeitsinformationen verfügbar", obwohl er im Maven-Repository vorhanden ist

Problem:

Eine Abhängigkeit wird nicht heruntergeladen, obwohl ich sie aus dem Maven-Repository kopiert habe.

Wenn ich in Eclipse über die Abhängigkeit schwebe, wird folgende Warnung ausgegeben: "Maven Missing artifact org.raml:jaxrs-code-generator:jar:2.0.0 ".

Wenn ich es versuche mvn install oder mvn compile es warnt: "[WARNING] The POM for org.raml:jaxrs-code-generator:jar:2.0.0 is missing, no dependency information available ".

Versucht:

  • Laden Sie das jar in das ~/.m2/repository/org/raml/jaxrs-code-generator/2.0.0 Ordner, dann im Editor aktualisieren.

    • Wenn ich install oder compile, scheint es, es zu ignorieren.
  • Laufen mvn -U.

    • Gleich wie bei install oder compile.

Ausführlich:

    <dependency>
        <groupId>org.raml</groupId>
        <artifactId>jaxrs-code-generator</artifactId>
        <version>2.0.0</version>
    </dependency>
  • Die Abhängigkeit existiert im Maven Repository (die Version ist auch korrekt).

  • Verwenden von Eclipse EE Neon 4.6.3, Apache Maven 3.3.9, Java 1.8.0_121.

  • Ich habe keine settings.xml in dem ~/.m2 Mappe.

  • Ich verwende keine anderen lokalen oder sonstigen Repositorys.

17
JoseHdez_2

Lesen Sie die Warnmeldung sorgfältig durch:

Das POM für org.raml: jaxrs-code-generator: jar: 2.0.0 fehlt, es sind keine Informationen zu Abhängigkeiten verfügbar

Das Problem ist nicht das Glas, sondern die fehlende pom.xml.
Die pom.xml listet die erforderlichen Abhängigkeiten für diese JAR auf, die Maven während des Builds und der gesamten Paketierung Ihrer Anwendung abruft. Vielleicht brauchen Sie es wirklich.

Beachten Sie, dass dieses Problem natürlich auch bei anderen Maven-Abhängigkeiten auftreten kann und die zu lösenden Ideen immer gleich sind.

Die Mule-Website dokumentiert sehr gut, dass neben einigen Informationen im Zusammenhang mit.


Wie löst man ?

1) Schnelle Problemumgehung: Suchen Sie im Internet nach dem pom.xml Des Artefakts

Wenn Sie die Artefakt-ID, die Gruppen-ID und ihre Version googeln, erhalten Sie im Allgemeinen interessante Ergebnisse: Maven-Repository-Links zum Herunterladen.
Im Fall der Abhängigkeit org.raml:jaxrs-code-generator:jar:2.0.0 Können Sie den pom.xml Aus dem Maven-Mule-Repository herunterladen:

https://repository.mulesoft.org/nexus/content/repositories/releases/org/raml/jaxrs-code-generator/2.0.0/

2) Bereinigen Sie die Problemumgehung für ein einzelnes Maven-Projekt: Fügen Sie die Repository-Deklaration in Ihr POM ein.

Fügen Sie in Ihrem Fall die Maven Mule-Repositorys hinzu:

<?xml version="1.0" encoding="UTF-8"?>
<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>
    ...
    <repositories>
        <repository>
            <id>mulesoft-releases</id>
            <name>MuleSoft Repository</name>
            <url>http://repository.mulesoft.org/releases/</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>mulesoft-snapshots</id>
            <name>MuleSoft Snapshot Repository</name>
            <url>http://repository.mulesoft.org/snapshots/</url>
            <layout>default</layout>
        </repository>
    </repositories>
    ...
</project>

3) Bereinigen Sie die Problemumgehung für alle Maven-Projekte: Fügen Sie die Repository-Deklaration in Ihrem settings.xml hinzu.

 <profile> 
   <repositories>
    ...
    <repository>
      <id>mulesoft-releases</id>
      <name>MuleSoft Repository</name>
      <url>http://repository.mulesoft.org/releases/</url>
      <layout>default</layout>
    </repository>
    <repository>
      <id>mulesoft-snapshots</id>
      <name>MuleSoft Snapshot Repository</name>
      <url>http://repository.mulesoft.org/snapshots/</url>
      <layout>default</layout>
    </repository>
     ...
  </repositories>     
</profile>

Beachten Sie, dass in einigen seltenen Fällen das pom.xml, Das die Abhängigkeiten deklariert, nirgendwo steht. Sie müssen sich also identifizieren, ob für das Artefakt Abhängigkeiten erforderlich sind.

16
davidxxx

Sie müssen Ihrem pom ein externes Repository hinzufügen, da dies das Repository Mulsoft-Release Und nicht Maven Central Verwendet.

<project>
   ...
    <repositories>
        <repository>
            <id>mulesoft-releases</id>
            <name>MuleSoft Repository</name>
            <url>http://repository.mulesoft.org/releases/</url>
            <layout>default</layout>
        </repository>
    </repositories>
  ...
</project>

Abhängigkeit

Apache Maven - Einrichten mehrerer Repositorys

2
XPLOT1ON