Tengo mi proyecto de maven configurado como 1 proyectos de shell y 4 módulos secundarios. Cuando intento construir el shell. Yo obtengo:
[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 trato de construir un módulo solitario, obtengo el mismo error, solo reemplace module1, con el módulo que sea.
Haga que todos hagan referencia al padre en sus pompones.
<parent>
<artifactId>shell</artifactId>
<groupId>converter</groupId>
<version>1.0_A0</version>
</parent>
Aquí están las partes relevantes del shell pom:
<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>
<relativePath>..</relativePath>
debajo<parent></parent>
funcionó para mí.mvn install -N & mvn install
Respuestas:
Solo para referencia.
Las alegrías de Maven.
Poner la ruta relativa de los módulos a ../pom.xml lo solucionó.
El
parent
elemento tiene unrelativePath
elemento que debe apuntar al directorio del padre. Por defecto es..
fuente
<relativePath>..</relativePath>
debajo<parent></parent>
?../pom.xml
a../<parent folder>/pom.xml
.También se puede solucionar poniendo el
settings.xml
archivo correcto en el~/.m2/
directorio.fuente
maven.repo
..La razón alternativa también podría ser que el artefacto padre proviene de un repositorio al que no se puede acceder
pom.xml
, normalmente un repositorio privado. La solución fue proporcionar ese repositorio enpom.xml
:En mi caso, el problema fue aún más complicado debido a Eclipse: el repositorio estaba activo solo en el perfil especial (
<profiles><profile><id>activate-private-repo</id><repositories>...
) y la GUI de Maven en Eclipse no permitía configurar este perfil a través delCtrl+Alt+P
acceso directo.La solución fue declarar temporalmente el repositorio fuera del perfil (incondicionalmente), lanzar
Alt+F5
Maven Update Project, activar el perfil y volver a poner la declaración del repositorio en el perfil. Esto es más bien un error de Eclipse, no un error de Maven.fuente
POM principal no resoluble: esto significa que no puede resolver el repositorio principal.
Trun en modo de depuración:
Porque el repositorio principal no forma parte de maven central. La solución es especificar un setting.xml en ~ m2 / para ayudar a obtener el POM principal. /Usuarios/nombredeusuario/.m2/settings.xml
En ese XML, es posible que deba especificar la información del repositorio.
fuente
Simplemente agregue
<relativePath />
para que el padre en pom se vea así:fuente
verificar si tiene valores correctos en los POM secundarios
En Eclipse, por ejemplo, puede buscarlo:
fuente
<relativePath>
Si construye bajo un proyecto secundario, entonces
<relativePath>
puede ayudarlo a resolver el error pom principal.instalar padre pom
Pero si crea el proyecto hijo a partir de su carpeta,
<relativePath>
no funciona.install
Primero puede colocar el pom principal en su repositorio local y luego construir el proyecto secundario.fuente
Reemplaza 1.0_A0 con $ {project.version}
Ejecute mvn una vez. Esto descargará todos los repositorios necesarios. Puede volver a 1.0_A0 después de este paso.
fuente
Tuve un problema similar en mi trabajo.
La construcción del proyecto principal sin dependencia creó el archivo parent_project.pom en la carpeta .m2.
Luego agregue el módulo secundario en el POM principal y ejecute la compilación de Maven.
fuente
Agregar una dependencia en
pom.xml:
fuente
Resolví ese problema en mí después de un intento muy largo, creé otro archivo llamado "parent_pom.xml" en el directorio de archivos del módulo secundario en local y pegué el contenido de parent_pom.xml, que se encuentra en remoto, al recién creado "parent_pom.xml ". Me funcionó y el mensaje de error desapareció.
fuente
Dentro de la etiqueta de ruta relativa, haga lo siguiente
y luego RunAs-> Maven build
Funcionó para mí.
fuente
Tuve el problema de que dos archivos pom.xml de construcción de reactor tenían el mismo artefactId.
fuente