2009-06-05 10 views
0

Je construis mon projet en utilisant le POM suivant:Maven: appliquer Plugin uniquement à l'un de plusieurs modules

<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> 

La construction fonctionne très bien. Le déploiement utilisant le plugin fonctionne également. Le seul problème que j'ai: Maven appelle deploy.bat deux fois, une fois pour chaque module. Cependant, j'ai seulement besoin d'être exécuté une fois. Comment puis je faire ça?

Répondre

1

Déplacez le plug-in <> .../plugin> dans le fichier module1/pom.xml.

+0

Hmm, n'y a-t-il pas d'autre moyen de mettre le plugin dans le module n'est pas une option? – Bob

+0

Non, sauf si le plugin peut être configuré avec (filtres peut-être?) Pour éviter le second module. Pouvez-vous modifier deploy.bat pour ne rien faire lorsqu'il est exécuté sur le second module? Peut-être avec une vérification IF EXISTS pour un fichier/dossier de déclenchement .... –

+0

La modification de deploy.bat a fait l'affaire. Merci. – Bob

0

Vous pouvez simplement mettre le plugin dans l'un de vos modules.

Questions connexes