2009-06-05 6 views
0

Ich baue mein Projekt mit dem folgenden POM:Maven: apply-Plugin nur eines von mehreren Modulen

<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/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>build.local</groupId> 
<artifactId>build-local</artifactId> 
<packaging>pom</packaging> 
<name>${project.artifactId}</name> 
<version>0-SNAPSHOT</version> 
<description></description> 
<inceptionYear>2009</inceptionYear> 
<modules> 
    <module>module1</module> 
    <module>module2</module> 
</modules> 
<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>buildnumber-maven-plugin</artifactId> 
       <version>1.0-beta-2</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.1.1</version> 
      <configuration> 
       <executable>deploy.bat</executable> 
      <configuration> 
     </plugin> 
    </plugins> 
</build> 
</project> 

Der Build funktioniert gut. Die Bereitstellung mit dem Plugin funktioniert ebenfalls. Das einzige Problem, das ich habe: Maven ruft deploy.bat zweimal, einmal für jedes Modul. Ich brauche es jedoch nur einmal ausgeführt. Wie kann ich das machen?

Antwort

1

Verschieben Sie das < Plugin> ... </Plugin> Direktive in die Datei module1/pom.xml.

+0

Hmm, gibt es keinen anderen Weg, wenn das Plugin nicht in das Modul eingefügt werden soll? – Bob

+0

Nicht, wenn das Plugin nicht konfiguriert werden kann (Filter vielleicht?), Um das zweite Modul zu vermeiden. Können Sie deploy.bat ändern, um bei der Ausführung des zweiten Moduls nichts zu tun? Vielleicht mit einer IF EXISTS-Prüfung für eine Trigger-Datei/Ordner .... –

+0

Modifizieren deploy.bat hat den Trick gemacht. Vielen Dank. – Bob

0

Sie können das Plugin einfach in eines Ihrer Module einfügen.

Verwandte Themen