以下是我在我的當前項目正在做的,它把findbugs-exclude.xml
父項目(我知道你不想要的),但它修復維護它的乾燥問題在兩個地方。這比拆包更簡單,但要求整個項目結構是本地的。 (我認爲解包解決方案對於在許多項目中使用相同的配置很有用,就像在企業環境中一樣)。
我將我的findbugs配置存儲在parent/src/main/resources/shared/findbugs-exclude.xml
中,但只要它位於父項的特定目錄中,沒關係。
然後我使用屬性來描述「共享」目錄的位置:
<properties>
<myproject.parent.basedir>${project.parent.basedir}</myproject.parent.basedir>
<myproject.parent.shared.resources>${myproject.parent.basedir}/src/main/resources/shared</myproject.parent.shared.resources>
</properties>
而且在父配置的FindBugs時引用這些屬性:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<excludeFilterFile>${myproject.parent.shared.resources}/findbugs-exclude.xml</excludeFilterFile>
</configuration>
...
</plugin>
所有直接子項目現在運行findbugs,引用父文件中的配置文件。如果您有多個級別的項目嵌套,則必須覆蓋子父項中的myproject.parent.basedir
。例如,如果您有家長< - 亞父< - 孩子,你會放:
<properties>
<myproject.parent.basedir>${project.parent.parent.basedir}</myproject.parent.basedir>
</properties>
在這個問題上的任何命中?我發現自己也有相同的需求,試圖從父pom文件 – 2010-11-29 22:40:44
中獲取對放置在子項目中的排除文件的引用,但我仍然沒有很好的解決方案。現在我只是在兩個地方更新文件。違反幹,惡作劇。 – 2010-11-30 18:43:27