現在のプロジェクトで私が行っていることはfindbugs-exclude.xml
次のとおりです。親プロジェクトに入れますが (これは望ましくないことはわかっています)、2 つの場所で維持するという DRY 問題を修正します。アンパックよりも簡単ですが、プロジェクト構造全体がローカルである必要があります。(解凍ソリューションは、企業環境のように、多くのプロジェクトで同じ構成を使用するのに役立つと思います。)
私は 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>