J'ai la configuration de mon projet maven en tant que projets 1 shell et 4 modules enfants. Quand j'essaye de construire le shell. Je reçois:
[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project module1:1.0_A0 (C:\module1\pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find shell:pom:1.0_A0 in http://nyhub1.ny.ssmb.com:8081/nexus/content/repositories/JBoss/ was cached in the local repository, resolution will not be reattempted until the update interval of jboss has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 5, column 11 -> [Help 2]
Si j'essaie de construire un module isolé, j'obtiens la même erreur, ne remplacez que module1, quel que soit le module.
Demandez-leur tous de faire référence au parent dans leurs poms.
<parent>
<artifactId>shell</artifactId>
<groupId>converter</groupId>
<version>1.0_A0</version>
</parent>
Voici les parties pertinentes du pom shell:
<groupId>converter</groupId>
<artifactId>shell</artifactId>
<version>1.0_A0</version>
<packaging>pom</packaging>
<name>shell</name>
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
<module>module4</module>
</modules>
maven
module
build-automation
parent-child
Volonté
la source
la source
<relativePath>..</relativePath>
sous a<parent></parent>
travaillé pour moi.mvn install -N & mvn install
Réponses:
Juste pour référence.
Les joies de Maven.
Mettre le chemin relatif des modules dans ../pom.xml l'a résolu.
L'
parent
élément a unrelativePath
élément que vous devez pointer vers le répertoire du parent. Il est par défaut..
la source
<relativePath>..</relativePath>
sous<parent></parent>
?../pom.xml
à../<parent folder>/pom.xml
.Il peut également être corrigé en plaçant le
settings.xml
fichier correct dans le~/.m2/
répertoire.la source
maven.repo
aussi ..Une autre raison pourrait également être que l'artefact parent provient d'un référentiel qui n'est pas accessible depuis
pom.xml
, généralement un référentiel privé. La solution était de fournir ce référentiel danspom.xml
:Dans mon cas, le problème était encore plus compliqué à cause d'Eclipse: le référentiel n'était actif que dans un profil spécial (
<profiles><profile><id>activate-private-repo</id><repositories>...
) et l'interface graphique Maven dans Eclipse ne permettait pas de définir ce profil via unCtrl+Alt+P
raccourci.La solution était de déclarer temporairement le référentiel en dehors du profil (sans condition), de lancer le
Alt+F5
projet de mise à jour Maven, d'activer le profil et de remettre la déclaration du référentiel dans le profil. C'est plutôt un bogue Eclipse, pas un bogue Maven.la source
POM parent non résoluble: cela signifie que vous ne pouvez pas résoudre le dépôt parent.
Trun en mode débogage:
Parce que le repo parent ne fait pas partie du maven central. La solution est de spécifier un setting.xml dans ~ m2 / pour aider à obtenir le POM parent. /Users/username/.m2/settings.xml
Dans ce XML, vous devrez peut-être spécifier les informations du référentiel.
la source
Ajoutez simplement
<relativePath />
pour que le parent dans pom ressemble à:la source
vérifier si vous avez des valeurs correctes dans les POM enfants
Dans Eclipse, par exemple, vous pouvez le rechercher:
la source
<relativePath>
Si vous construisez sous un projet enfant, alors
<relativePath>
peut vous aider à résoudre le pom parent.installer le pom parent
Mais si vous construisez le projet enfant à partir de son dossier,
<relativePath>
cela ne fonctionne pas. Vous pouvez d'abordinstall
le pom parent dans votre référentiel local, puis créer le projet enfant.la source
Remplacez 1.0_A0 par $ {project.version}
Exécutez mvn une fois. Cela téléchargera tous les référentiels requis. Vous pouvez revenir à 1.0_A0 après cette étape.
la source
J'ai eu un problème similaire à mon travail.
Construire le projet parent sans dépendance a créé le fichier parent_project.pom dans le dossier .m2.
Ajoutez ensuite le module enfant dans le POM parent et exécutez la génération Maven.
la source
Ajouter une dépendance dans
pom.xml:
la source
J'ai résolu ce problème sur moi après un très long essai, j'ai créé un autre fichier nommé "parent_pom.xml" dans le répertoire de fichiers du module enfant au niveau local et collé le contenu de parent_pom.xml, situé à distance, au nouveau "parent_pom.xml" ". Cela a fonctionné pour moi et le message d'erreur a disparu.
la source
À l'intérieur de la balise de chemin relatif, procédez comme suit
puis RunAs-> Maven build
Cela a fonctionné pour moi.
la source
J'ai eu le problème que deux fichiers pom.xml de construction de réacteur avaient le même artefactId.
la source