Question

Salut   Je suis en train de créer un projet multi-modules Eclipse avec m2eclipse. J'ai suivi quelques tutoriels, mais la façon dont il travail n'est pas ce que je pense:

Voici la structure de mon projet

  -Root
  -    webapps
  -          module1
  -          module2

Je pom.xml pour Racine et modules. (Module 1 et 2 sont indépendantes les unes aux autres) Dans le pom.xml (Root), j'ai

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

pom.xml de Module1:

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

module2, il est semblable au module 1.

Quand je vais à la racine et exécutez le fichier pom, il déclenche les phases de racines d'abord et les phases du module plus tard (construire le projet racine et aussi construire les projets de module). Pour moi, il est très bien.

Mais le problème se produit quand je vais à module1 et exécuter le pom.xml. Ensuite, il fait aussi pour le même: la gâchette racine pom.xml et pom.xml de module1. Je ne aime pas ça. What i want to be happened is ONLY the module1's pom file is triggered (seulement module1 est construit), la pom root ne sera pas déclenchée (projet racine est pas construit).

Toute aide, s'il vous plaît.

Était-ce utile?

La solution

Mise à jour:. Si vous ne voulez pas une configuration plug-in à appliquer dans POMs qui hérite du POM où elle est déclarée, ensemble inherited pour 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>

Référence

  • POM Maven Référence
    • Plugins

J'ai essayé de reproduire le problème ... mais n'a pas réussi. J'ai créé une structure de projet similaire:

$ 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

Lorsque la pom.xml mère déclare:

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

Et chaque enfant:

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

Construction de la racine provoque une accumulation du réacteur:

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

Mais la construction d'un enfant n'a pas rien de déclenchement du parent:

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

Tout fonctionne comme prévu pour moi.


(réponse initiale retirée comme il est apparu que je mal interprété la question)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top