tutorial tag resolvable pom non dependency maven module build-automation parent-child

tag - Maven: POM padre no resoluble



non resolvable parent pom (8)

Tengo mi proyecto de configuración maven como 1 shell projects y 4 módulos para niños. Cuando intento construir el caparazón 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 en solitario, obtengo el mismo error, solo reemplazo el módulo1, con el módulo que sea.

Haz que todos hagan referencia al padre en sus poms.

<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>


La razón alternativa también puede ser que el artefacto principal provenga de un repositorio al que no se puede acceder desde pom.xml , generalmente un repositorio privado. La solución fue proporcionar ese repositorio en pom.xml :

<repositories> <repository> <id>internal-repo</id> <name>internal repository</name> <url>https://my/private/repo</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>

En mi caso, el problema era aún más complicado debido a Eclipse: el repositorio estaba activo solo en perfil especial ( <profiles><profile><id>activate-private-repo</id><repositories>... ) y Maven GUI en Eclipse no permitió establecer este perfil mediante el atajo Ctrl+Alt+P

La solución fue declarar el repositorio temporalmente fuera del perfil (incondicionalmente), ejecutar 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.


Reemplace 1.0_A0 con $ {project.version}

Ejecuta mvn una vez. Esto descargará todos los repositorios necesarios. Puede volver a 1.0_A0 después de este paso.


Solo para referencia.

Las alegrías de Maven.

Poner la ruta relativa de los módulos a ../pom.xml lo resolvió.

El elemento parent tiene un elemento relativePath que necesita apuntar al directorio del padre. Por defecto es ..


También se puede arreglar poniendo el archivo settings.xml correcto en el directorio ~/.m2/ .


Tuve el problema de que dos archivos pom.xml de generación de reactor tenían el mismo artefacto.


Tuve un problema similar en mi trabajo.

La creación del proyecto principal sin la dependencia creó el archivo parent_project.pom en la carpeta .m2.

A continuación, agregue el módulo secundario en el POM principal y ejecute la creación de Maven.

<modules> <module>module1</module> <module>module2</module> <module>module3</module> <module>module4</module> </modules>


quite

<version>1.0_A0</version>

y funcionó (en realidad, mi etiqueta de versión contenía $ {prject.parent.version} ).

Tenga en cuenta que mi módulo no era un módulo raíz.


verificar si tiene valores correctos en POM secundarios

GroupId ArtefactId Version

En Eclipse, por ejemplo, puede buscarlo: