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.
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>
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>
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.
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.
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.
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.
Assurez-vous que vous disposez de settings.xml. J'ai eu le même problème lorsque je l'ai supprimé par erreur.