Pregunta

Hola Estoy tratando de crear un proyecto de varios módulos en Eclipse con m2eclipse. He seguido algunos tutoriales, pero la forma en que el trabajo no es lo que espero:

Esta es la estructura de mi proyecto

  -Root
  -    webapps
  -          module1
  -          module2

Tengo pom.xml de raíz y módulos. (Módulo 1 y 2 son independientes entre sí) En el pom.xml (Root), tengo

 <modules>
        <module>./webapps/module1</module>
        <module>./webapps/module2</module>
 </modules>

En pom.xml del módulo 1:

<parent>
        <groupId>{RootGroupId}</groupId>
        <artifactId>{RootArtifactId}</artifactId>
        <version>{RootVersionId}</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

En Module2, es similar al módulo 1.

Cuando voy a root y ejecute el archivo pom, se disparará fases de la raíz primera y fases del módulo posterior (la construcción del proyecto de la raíz y también construir los proyectos de módulo). Para mí, está bien.

Sin embargo, el problema ocurre cuando voy a correr el módulo 1 y pom.xml. Entonces también lo hacen el mismo: el gatillo pom.xml Raíz y pom.xml del módulo 1. No me gusta esto. What i want to be happened is ONLY the module1's pom file is triggered (SÓLO módulo 1 se construye), no se activará pom de raíz (raíz del proyecto no se puede construir).

Cualquier ayuda, por favor.

¿Fue útil?

Solución

Actualización:. Si no desea que un plugin de configuración que se aplicarán en los POM que heredan del POM donde se declara, juego inherited para false

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-1</version>
    <inherited>false</inherited> <!-- THIS SHOULD DO IT -->
    <executions>
      <execution>
        <id>read-project-properties</id>
        <phase>initialize</phase>
        <goals>
          <goal>read-project-properties</goal>
        </goals>
        <configuration>
          <files>
            <file>build.properties</file>
          </files>
        </configuration>
      </execution>
    </executions>
  </plugin>

referencia


He intentado reproducir el problema ... pero no tuvo éxito. He creado una estructura de proyecto similar:

$ tree .
.
├── pom.xml
└── webapps
    ├── module1
    │   ├── pom.xml
    │   └── src
    │       └── main
    │           └── webapp
    │               ├── index.jsp
    │               └── WEB-INF
    │                   └── web.xml
    └── module2
        ├── pom.xml
        └── src
            └── main
                ├── resources
                └── webapp
                    ├── index.jsp
                    └── WEB-INF
                        └── web.xml

Cuando el padre pom.xml declara:

  <modules>
    <module>webapps/module1</module>
    <module>webapps/module2</module>
  </modules>

Y cada niño:

  <parent>
    <artifactId>Q3790987</artifactId>
    <groupId>com.stackoverflow</groupId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>

Edificio de la raíz provoca una acumulación del reactor:

$ mvn install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] Q3790987
[INFO] module1 Maven Webapp
[INFO] module2 Maven Webapp
[INFO] 
[INFO] ------------------------------------------------------------------------
...

Sin embargo, la construcción de un niño no hace nada gatillo de la matriz:

$ cd webapps/module1/
$ mvn install
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building module1 Maven Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
...

Todo funciona como se esperaba para mí.


(respuesta inicial eliminado, ya que parecía que malinterpretado la pregunta)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top