Frage

Hallo Ich versuche, ein Multi-Module Projekt in Eclipse mit m2eclipse zu erstellen. Ich folgte einige Tutorials, aber so, wie es Arbeit ist nicht, was ich erwarten:

Dies ist die Struktur meines Projekts

  -Root
  -    webapps
  -          module1
  -          module2

Ich habe pom.xml für Root und Module. (Modul 1 und 2 sind unabhängig voneinander) In der pom.xml (Root), ich habe

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

In module1 der pom.xml:

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

In module2, es ist ähnlich 1 Modul.

Als ich nach dem Start gehen und die pom-Datei ausführen, wird es die Root Phasen auslösen erste und die Phasen des Moduls später (das Root-Projekt bauen und auch die Modulprojekte bauen). Für mich ist es in Ordnung.

Aber das Problem tritt auf, wenn ich zu module1 gehen und die pom.xml laufen. Dann tun es auch so das gleiche: Auslöser des Root pom.xml und module1 der pom.xml. ich nicht so. What i want to be happened is ONLY the module1's pom file is triggered (NUR module1 gebaut wird), root pom nicht ausgelöst werden (Root-Projekt nicht gebaut werden).

Jede Hilfe, bitte.

War es hilfreich?

Lösung

Update:. Wenn Sie nicht wollen, eine Plugin-Konfiguration in POMs angewendet werden, die erben von der POM, wo sie deklariert ist, Satz inherited zu 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>

Referenz


Ich habe versucht, das Problem zu reproduzieren ... aber nicht gelang. Ich habe eine ähnliche Projektstruktur:

$ 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

Ist das Mutter pom.xml erklärt:

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

Und jedes Kind:

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

Gebäude von der Wurzel löst einen Reaktor zu bauen:

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

Aber ein Kind Gebäude nicht Auslöser alles auf dem parent:

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

funktioniert alles wie für mich erwartet.


(erste Antwort entfernt, wie es schien, ich die Frage falsch verstanden)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top