2013-07-02 70 views
3

我有一個java項目,它有更多的模塊。在一些模塊中,我使用了一個插件。 在那個插件中,我需要覆蓋它的依賴關係。到現在爲止還挺好。通過在插件定義中添加所需的依賴項解決。覆蓋Maven插件(一個插件,不同的模塊和不同的依賴項)的依賴關係

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>xdoclet-maven-plugin</artifactId> 
    <version>1.0</version> 
    <dependencies> 
     <dependency> 
     <groupId>xdoclet</groupId> 
     <artifactId>xjavadoc</artifactId> 
     <version>1.5-SNAPSHOT</version> 
     </dependency> 
    </dependencies> 
    ... 

但是在其中一個模塊中,我需要用某個其他版本覆蓋該依賴關係。我試圖用重寫的方式來解決這個問題。 如果我只編譯該子模塊,則使用正確的依賴版本,但是如果我編譯整個項目,則它不起作用,因爲它使用插件的其他模塊的依賴關係,而不是模塊pom中指定的依賴項。

任何想法如何解決我的問題?

最好的問候,菲利普

回答

1

您可以創建屬性爲你的插件版本,e.g xdoclet.version並用它來覆蓋父版本。

<properites> 
    <xdoclet.version>1.5-SNAPSHOT</xdoclet.version> 
</properties> 
... 
<plugin>enter code here 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>xdoclet-maven-plugin</artifactId> 
<version>1.0</version> 
<dependencies> 
    <dependency> 
    <groupId>xdoclet</groupId> 
    <artifactId>xjavadoc</artifactId> 
    <version>${xdoclet.version}</version> 
    </dependency> 
</dependencies> 
...