2010-11-23 8 views
8

J'ai besoin de générer certaines sources, donc j'ai attaché un objectif de plugin à la phase de cycle de vie de générer-sources.Phase Maven s'exécutant deux fois

Quand je lance mvn package il fonctionne très bien, mais quand je lance mvn install je remarquai que mon plugin de génération source exécute deux fois.

 <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>generate-sources-id</id> 
        <phase>generate-sources</phase> 
        <configuration> 
         <tasks> 
          <property name="build.compiler" value="extJavac" /> 

          <ant target="generate-sources-from-ant" /> 
         </tasks> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

Des idées pour résoudre le problème?

+0

Copie possible de http://stackoverflow.com/questions/4251488/maven-release-plugin-fails-source-artifacts-getting-deployed-twice – Vadzim

Répondre

5

On dirait que vous êtes en cours d'exécution dans le problème décrit par Peter Lynch blog entry

7

J'ai eu un problème similaire qui a été causé parce que je l'ai utilisé maven-plugin source La solution était de changer l'objectif de JAR sans fourche

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
      <version>2.1.2</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>jar-no-fork</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
0

Est-ce que vous arrive d'avoir le plugin jetée lié à une pré-intégration-test, ou peut-être un autre plug-in lié à une phase quelque part dans le paquet à travers l'installation plage? Peut-être le plugin cobertura? Les deux plugins jetty et cobertura - et d'autres - fourchent une nouvelle construction à partir de la construction principale pour faire leur travail. Cela causerait que votre plugin soit lié à generate-sources pour s'exécuter deux fois. La solution sera différente selon le plugin à l'origine du problème.