2014-02-10 40 views
0

我剛開始使用maven,我使用Apache Maven Shade Plugin很多。是否可以添加這些代碼更改Maven的默認pom.xml和項目佈局

<build> 
<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <!-- put your configurations here --> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
      <goal>shade</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
</plugins> 
</build> 

到默認pom.xml。是的,它可以更改setting.xml以使該插件可以與所有項目一起使用。但是如果我有一些不需要這個插件的特定項目,我是否必須再次重寫setting.xml?

另一個問題是可以更改Maven的項目佈局。我使用git很多。每次運行mvn archetype:generate時,我可以添加示例.gitignore。

+1

首先,您應該在需要的地方開始使用插件。要定義某種默認值,最好創建一個包含項目版本和默認配置的company-pom。你是什​​麼意思'..我必須重新編寫settings.xml文件?因爲settings.xml文件只能保存配置信息庫,可能是一些憑據,但沒有項目特定的,因爲這屬於pom文件。除此之外,改變項目佈局只有在你確實有特殊要求的情況下才有意義,如果這是真的,你應該考慮使用Maven。 – khmarbaise

回答

0

對你第一個問題,我想你可以從parent POM受益:

http://books.sonatype.com/mvnex-book/reference/multimodule-sect-simple-parent.html

這是一種在你把你想要的任何一個定義的POM文件。在Maven倉庫中將它作爲「pom」發佈,然後可以在其他項目中繼承它。鎖定依賴性版本也非常方便。

你的第二個問題似乎與你使用的原型比maven本身更相關。您可能必須在其中創建一個默認的.gitignore。