2017-05-09 55 views
1

我想更改maven-surefire-plugin的默認設置,而不是使用<reportFormat>brief</reportFormat>,我想使用<reportFormat>plain</reportFormat>對.m2/settings.xml中maven surefire插件的全局更改

通常情況下,我會通過修改個人pom爲一個項目,如實現這一目標:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
     <redirectTestOutputToFile>true</redirectTestOutputToFile> 
     <reportFormat>plain</reportFormat> 
    </configuration> 
</plugin> 

但是,是否有可能以某種方式修改~/.m2/settings.xml文件,並設置<reportFormat>plain</reportFormat>爲所有Maven項目默認行爲我想編譯。 我做了許多maven項目的分析,所以我寧願改變全局級別的行爲,而不是修改每個項目的pom文件。

+0

您應該使用企業pom,在其中定義您希望爲公司提供的默認東西,但settings.xml不是正確的位置,也不可能這樣做......但這需要您已經擁有使用一個coporate pom文件... – khmarbaise

回答

1

settings.xml配置文件在這個詳細程度上沒有下降。

https://maven.apache.org/xsd/settings-1.0.0.xsd

你可以看到單個元素的引用「插件」字:插件配置只能在pom.xml
檢查它正在研究的settings.xml架構的最好方式指定與構建中的插件配置無關。

對於您的需求,如果使用不當,單個解決方案也有其缺點是使用定義插件配置的父pom,並且所有Maven模塊都應該具有父類以從插件配置繼承,並且可能來自其他方面。

如果您的應用程序使用多模塊/父pom結構,我認爲更好的解決方案是在每個多模塊/父pom的父pom中聲明此配置。
通過這種方式,您可以多次聲明它,但通過一組相關項目聲明它。

+0

這真的很不幸,但我想也非常具體。您的解決方案似乎與我之前的想法類似,我認爲可以更改一些全局設置。無論如何,感謝您的幫助! – chao

+0

不客氣。我明白你的觀點。有時候,我們必須做一些折衷:) – davidxxx

相關問題