2013-08-05 20 views
1

是否有通用的方式爲任何maven插件執行此操作 - 根據用戶偏好運行/基於屬性文件禁用它?maven插件僅在用戶偏好時才運行

有一個正常工作的maven插件使用com.mysema.querydsl,現在想要改變,所以它只在提供特定的標誌/命令行選項時才運行。

<plugin> 
      <groupId>com.mysema.querydsl</groupId> 
      <artifactId>querydsl-maven-plugin</artifactId> 
      <version>${querydsl-maven-plugin.version}</version> 
      //executions 
      <configuration> 
       <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver> 

       <jdbcUrl>jdbc:mysql://myurlk:port/db</jdbcUrl> 
       <jdbcUser>id1</jdbcUser> 
       <jdbcPassword>ccc</jdbcPassword> 
       <packageName>com.sample</packageName> 
       <targetFolder>${project.basedir}/src/main/java</targetFolder> 
       <schemaPattern>APP</schemaPattern> 
        //goal prefix here? 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>mysql</groupId> 
        <artifactId>mysql-connector-java</artifactId> 
        <version>${mysql.driver.version}</version> 
       </dependency> 
      </dependencies> 
     </plugin> 

嘗試添加

  <executions> 
       <execution> 
       <id>execution1</id> 
        <phase>test1</phase> 
        <goals> 
         <goal>export</goal> 
        </goals> 
       </execution> 
      </executions> 

    and a goal prefix  
           <goalPrefix>mysema1</goalPrefix> 

但不工作。想辦法,所以當我們做一個默認

MVN清潔這個插件未安裝運行

但需要添加另一個標誌,使其運行? 使用Apache Maven 3.0.4

+0

是否有一種通用的方式來做到這一點對於任何maven插件 - 基於用戶pref運行/基於屬性文件禁用它? – tgkprog

回答

1

定義配置文件,添加插件定義到配置文件並添加屬性觸發器像這樣的輪廓:

<project> 
    ... 

    <profiles> 
    <profile> 
     <id>profile-id</id> 
     <activation> 
      <property> 
      <name>myProperty</name> 
      </property> 
     </activation> 
     <build> 
     <plugins> 
      <plugin> 
      ... 
      </plugin> 
     </plugins> 
     </build> 
    </profile> 
    </profiles> 

</project> 

當你建立與mvn clean install YOUT項目的插件將不會被執行,當你建立您的項目將使用mvn clean install -DmyPropertymvn clean install -Pprofile-id您的插件將被執行。在第二種情況下,配置文件的屬性激活觸發器已過時。

+0

謝謝。節拍刪除部分/記住不提交 – tgkprog

3

您是否嘗試將插件執行插入到Maven配置文件中?有幾個觸發器可以爲構建啓用配置文件(例如,OS,Java版本,屬性值或命令行上的配置文件ID本身)。 有關更多詳細信息,請參閱http://maven.apache.org/guides/introduction/introduction-to-profiles.html

+1

我也建議將插件的條件執行放入配置文件中。 –

+0

謝謝你,這看起來像我想要 – tgkprog

+0

很多讀取通過。你有一套簡單的入門指導嗎?只是想要一個插件(見問題)默認情況下不運行,除非有特定的命令行標誌?我看到它在那裏,但失去了如何讓它在簡單的步驟中工作 – tgkprog