web-dev-qa-db-fra.com

POM parent non résoluble pour Impossible de trouver l'artefact et les points «parent.relativePath» au mauvais POM local

Je suis nouveau chez maven.

J'ai un projet que j'essaie de construire avec le maven3.

Lorsque j'exécute la commande mvn -X clean install J'ai eu l'erreur.

[root@localhost]# mvn -X clean install
Apache Maven 3.0.4 (r1232337; 2012-01-17 14:14:56+0530)
Maven home: /usr/local/maven
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-279.9.1.el6.x86_64", Arch: "AMD64", family: "unix"
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from /usr/local/maven/conf/settings.xml
[DEBUG] Reading user settings from /root/.m2/settings.xml
[DEBUG] Using local repository at /root/.m2/repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10 for /root/.m2/repository
[INFO] Scanning for projects...
[DEBUG] Could not find metadata com.test.ctrl:ctrl-build:0.0.17-SNAPSHOT/maven-metadata.xml in local (/root/.m2/repository)
[ERROR] The build could not read 1 project -> [Help 1]
org.Apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT, /root/test/devenv/openstack-rhel/pom.xml, line 8, column 13

        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:363)
        at org.Apache.maven.DefaultMaven.collectProjects(DefaultMaven.Java:636)
        at org.Apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.Java:585)
        at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:234)
        at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:156)
        at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:537)
        at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:196)
        at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:141)
        at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
        at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
        at Java.lang.reflect.Method.invoke(Method.Java:616)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:352)
[ERROR]
[ERROR]   The project org.openstack:my-tar:2012.1-SNAPSHOT (/root/test/devenv/mytar/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT, /root/test/devenv/openstack-rhel/pom.xml, line 8, column 13 -> [Help 2]
org.Apache.maven.model.resolution.UnresolvableModelException: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT
        at org.Apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.Java:159)
        at org.Apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.Java:813)
        at org.Apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.Java:664)
        at org.Apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.Java:310)
        at org.Apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.Java:232)
        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:410)
        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:379)
        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:343)
        at org.Apache.maven.DefaultMaven.collectProjects(DefaultMaven.Java:636)
        at org.Apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.Java:585)
        at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:234)
        at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:156)
        at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:537)
        at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:196)
        at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:141)
        at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
        at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
        at Java.lang.reflect.Method.invoke(Method.Java:616)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:352)
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.Java:538)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.Java:216)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.Java:193)
        at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.Java:286)
        at org.Apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.Java:155)
        ... 22 more
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.Java:528)
        ... 26 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.Apache.org/confluence/display/MAVEN/UnresolvableModelException

Je vérifie le pom.xml mais je ne peux pas comprendre quel était le problème. Quelques lignes de mon pom.xml est comme ci-dessous.

  1 <?xml version="1.0"?>
  2 <project xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.Apache.org/POM/4.0.0"
  3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4   <modelVersion>4.0.0</modelVersion>
  5
  6 <parent>
  7     <groupId>org.openstack</groupId>
  8     <artifactId>openstack-rhel-rpms</artifactId>
  9     <version>2012.1-SNAPSHOT</version>
 10     <relativePath>../openstack-rhel</relativePath>
 11 </parent>
 12
 13     <groupId>org.openstack</groupId>
 14     <artifactId>my-tar</artifactId>
 15     <version>2012.1-SNAPSHOT</version>
 16   <packaging>pom</packaging>
 17   <name>my tar</name>
 18

Je vérifie également la solution sur une question dans stackoverflow comme POM parent non résoluble: n'a pas pu trouver d'artefact mais n'a pas pu aider à résoudre le problème.

Si vous avez besoin de plus d'informations sur cette question, faites-le moi savoir.

20
Nilesh

Vous devez avoir le fichier /root/test/devenv/openstack-rhel/pom.xml

Ce fichier doit avoir les éléments suivants:

<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>org.openstack</groupId>
    <artifactId>openstack-rhel-rpms</artifactId>
    <version>2012.1-SNAPSHOT</version>
    <packaging>pom</packaging>
</project>
7
Fabricio Lemos

J'ai fait face au même problème. La définition du chemin relatif du parent dans les projets de module a résolu le problème.

Utilisation <relativePath>../Parent Project Name/pom.xml</relativePath>

12
Sasidhar

J'ai rencontré un problème comme celui-ci en utilisant le plug-in de sortie Maven. La résolution à l'aide de chemins relatifs (c'est-à-dire pour le pom parent dans le module enfant ../parent/pom.xml) ne semble pas fonctionner dans ce scénario, elle continue de rechercher le pom parent libéré dans le référentiel Nexus. Le déplacement du pom parent vers le dossier parent du module a résolu ce problème.

1
Bryji

On avait le même problème.

Le fichier pom parent était disponible dans notre référentiel local, mais maven a toujours tenté de le télécharger depuis le référentiel central ou depuis relativePath (il n'y avait aucun fichier dans le chemin relatif).

Il s'avère qu'un fichier appelé "_ remote.repositories" dans le référentiel local est à l'origine de ce problème. Après avoir supprimé tous les fichiers portant ce nom du référentiel local complet, nous avons pu construire nos modules.

1
user3036363

De toute façon, vous avez mentionné /root/.m2/settings.xml.

Mais dans mon cas, j'ai raté le fichier settings.xml à configurer dans les préférences de maven. enter image description here pour que maven recherche le chemin_relatif pom.xml à partir du référentiel distant configuré dans settings.xml

1
Jp Naidu

Dans le fichier pom.xml du projet,

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>X.X.X.RELEASE</version>
<relativePath> ../PROJECTNAME/pom.xml</relativePath>
</parent>

Le fait de pointer relativepath vers le même fichier POM du projet MAVEN a résolu le problème pour moi.

0
Divyans Mahansaria

Dans mon cas, la raison en était une simple faute de frappe.

<parent>
    <groupId>org.sringframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
</parent>

Un caractère manquant dans le cadre de sonnerie groupId org.s (p) a provoqué cette erreur.

0
Jan Bodnar

Assurez-vous que vous disposez de settings.xml. J'ai eu le même problème lorsque je l'ai supprimé par erreur.

0
SB_jd