java - proyecto - maven tutorial



¿Cómo forzar a maven a instalar en un proyecto dependiente? (1)

Tengo el proyecto B, que depende del proyecto A.

En el archivo pom.xml del proyecto B, he declarado una dependencia A como:

<dependency>
   <groupId></groupId>
   <artifactId>A</artifact>
   <version>1</version>
   <scope>compile</scope>
</dependency>

Pero cada vez que realizo cambios en el proyecto A, tengo que ejecutar maven install en eclipse, para instalar el proyecto en el repositorio de mi usuario.

¿Cómo puedo asegurarme de que el proyecto A se construya e instale antes de que se construya y ejecute el proyecto B?


Use un módulo con packaging = pom para controlar toda la compilación. En otro proyecto de Eclipse, llámalo nivel superior, ten este pom:

<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></groupId>
    <artifactId>top-level</artifactId>
    <version>1</version>
    <packaging>pom</packaging>

    <modules>
        <module>../A</module>
        <module>../B</module>
    </modules>
</project>

Luego realice sus operaciones de experto (limpiar, instalar, etc.) en este pom. Maven descubrirá el orden correcto para procesar los módulos.

Una palabra de advertencia: Maven usa el sistema de archivos para acceder a las ubicaciones de pom relativas para A y B. Esto solo funciona si los tres proyectos están bajo el mismo directorio raíz (la raíz del espacio de trabajo de Eclipse, el directorio raíz de git repo, etc.)





dependencies