2010-11-26 24 views
2

我想將hibernate3-maven插件放在父pom中,並且在子模塊中跳過執行,如果給定文件不存在於該模塊中。如果文件不存在,跳過執行maven插件

有沒有辦法做到這一點?

到現在爲止,我不得不這樣做:

<plugin> 
    ... 
    <configuration> 
     <skip>true</skip> 
     <propertyfile>target/test-classes/jdbc.properties</propertyfile> 
    </configuration> 
</plugin> 

在父POM,以及:

<plugin> 
    ... 
    <configuration> 
     <skip>${maven.test.skip}</skip> 
    </configuration> 
</plugin> 

在所有孩子的POM,我想它來執行。 I.E那些實際上有jdbc.properties文件的人。

回答

4

你也許可以用配置文件做到這一點,但我想你可能不想在父項目中運行它,這可能是有問題的。
這裏是配置文件的一些鏈接:

這個問題,也有類似的問題,無法與配置文件來解決這個問題:
activate-different-maven-profiles-depending-on-current-module

1

我不是100%的物流,但你可以使用maven exec plugin結合shell腳本。 shell腳本會檢查文件的存在,然後使用maven pom目錄調用mvn插件 - 可以通過Maven環境變量獲取並傳遞給shell腳本。