Problème:
Une dépendance ne sera pas téléchargée même si je l'ai copiée à partir du référentiel Maven.
Lorsque je survole la dépendance dans Eclipse, il me signale: "Maven Missing artifact org.raml:jaxrs-code-generator:jar:2.0.0
".
Lorsque j'essaie mvn install
Ou mvn compile
, Il avertit: "[WARNING] The POM for org.raml:jaxrs-code-generator:jar:2.0.0 is missing, no dependency information available
".
Essayé:
Télécharger le fichier jar dans le dossier ~/.m2/repository/org/raml/jaxrs-code-generator/2.0.0
, Puis l'actualiser dans l'éditeur.
install
ou compile
, il semble l’ignorer.Lancer mvn -U
.
install
ou compile
.En profondeur:
<dependency>
<groupId>org.raml</groupId>
<artifactId>jaxrs-code-generator</artifactId>
<version>2.0.0</version>
</dependency>
La dépendance existe dans le référentiel Maven (la version est également correcte).
Utilisation d’Eclipse EE Neon 4.6.3, Apache Maven 3.3.9, Java 1.8.0_121.
Je n'ai pas de settings.xml
Dans le dossier ~/.m2
.
Je n'utilise aucun autre dépôt, local ou autre.
Lisez attentivement le message d'avertissement:
Le POM pour org.raml: générateur de code jaxrs: jar: 2.0.0 est manquant, aucune information de dépendance disponible.
Le problème n'est pas le pot, mais le pom.xml qui manque.
Le fichier pom.xml répertorie les dépendances requises pour ce fichier jar que Maven utilisera pendant la construction et l’ensemble de l’emballage de votre application. Donc, vous en aurez vraiment besoin.
Notez que ce problème peut bien entendu survenir pour d'autres dépendances Maven et que les idées à résoudre restent toujours les mêmes.
Le site Web de Mule documente très bien cela en plus de quelques informations relatives à.
1) Solution de contournement rapide: rechercher sur Internet le pom.xml
de l'artefact
Googler l'identifiant d'artefact, l'identifiant de groupe et sa version donnent des résultats généralement intéressants: liens du référentiel maven pour le télécharger.
Dans le cas du org.raml:jaxrs-code-generator:jar:2.0.0
dépendance, vous pouvez télécharger le pom.xml
du référentiel Maven mule:
2) Nettoyez la solution de contournement pour un seul projet Maven: ajouter la déclaration du référentiel dans votre pom.
Dans votre cas, ajoutez les référentiels de mules Maven:
<?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) Nettoyez la solution de contournement pour tout projet Maven: ajoutez la déclaration du référentiel dans votre settings.xml
<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>
Notez que dans de rares cas, le pom.xml
_ déclarer les dépendances n’est nulle part. Donc, vous devez vous identifier si l'artefact nécessite des dépendances.
Vous devrez ajouter un référentiel externe à votre pom, car il utilise Mulsoft-Release
référentiel non Maven Central
<project>
...
<repositories>
<repository>
<id>mulesoft-releases</id>
<name>MuleSoft Repository</name>
<url>http://repository.mulesoft.org/releases/</url>
<layout>default</layout>
</repository>
</repositories>
...
</project>