2010-11-23 188 views
8

我需要生成一些源代碼,所以我將插件目標附加到生成源生命週期階段。Maven階段執行兩次

當我運行MVN包它工作正常,但是當我運行MVN安裝我發現我的源代碼的生成插件執行兩次。

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

任何想法來解決這個問題?

+0

可能的重複http://stackoverflow.com/questions/4251488/maven-release-plugin-fails-source-artifacts-getting-deployed-twice – Vadzim 2013-12-10 16:39:31

回答

7

描述的問題,我是因爲我使用Maven的源插件 這是造成類似問題的解決方法是改變目標,以JAR-無叉

  <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

你碰巧有綁定到碼頭插件預集成測試,或可能在程序包綁定到一個階段地方一些其他的插件安裝通過範圍?也許cobertura插件?碼頭和cobertura插件 - 以及其他人 - 從主版本中分出一個新版本來完成他們的一些工作。這會導致你的插件綁定到生成源執行兩次。解決方案將根據哪個插件導致問題而有所不同。