Oto co robię w moim obecnym projekcie, stawia findbugs-exclude.xml
w projekcie dominującej (co wiem, nie chcesz), ale to rozwiązuje problem DRY utrzymanie go w dwóch miejscach. Jest to prostsze niż rozpakowywanie, ale wymaga, aby pełna struktura projektu była lokalna. (Myślę, że rozwiązanie do rozpakowywania byłoby użyteczne, aby użyć tej samej konfiguracji w wielu projektach, tak jak w środowisku korporacyjnym.)
Przechowuję moją konfigurację findbugs w parent/src/main/resources/shared/findbugs-exclude.xml
, ale tak długo jak jest ona w macierzystym, określony katalog nie robi ' Nieważne.
Następnie używać właściwości opisać lokalizację katalogu „dzielonego”:
<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>
i odniesienie tych właściwości podczas konfigurowania findbugs w dominującej:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<excludeFilterFile>${myproject.parent.shared.resources}/findbugs-exclude.xml</excludeFilterFile>
</configuration>
...
</plugin>
wszystkie bezpośrednie projektów dziecko będzie teraz uruchom findbugs, odwołując się do pliku konfiguracyjnego w rodzicu. Jeśli masz wiele poziomów zagnieżdżania projektów, będziesz musiał zastąpić myproject.parent.basedir
w podrzędnej. Na przykład, jeśli masz rodzica < - sub-rodzica < - dziecko, by umieścić:
<properties>
<myproject.parent.basedir>${project.parent.parent.basedir}</myproject.parent.basedir>
</properties>
żadnych trafień na to pytanie? Znajduję się z tą samą potrzebą, próbując uzyskać odniesienie do pliku wykluczenia umieszczonego w projekcie podrzędnym z nadrzędnego pliku pom –
Nie, nadal nie mam dobrego rozwiązania. Na razie właśnie aktualizuję pliki w obu miejscach. Naruszenie SUCHIA, fuj. –