2016-01-24 3 views
3

Я пытался несколько итераций, но вот мой последнийКак исключить пакет для определенного правила FindBugs

<?xml version="1.0" encoding="UTF-8"?> 
<FindBugsFilter> 
    <Match> 
    <Package name="~com[.]xenoterracide[.]rpf[.]([.].*)?"/> 
    <Bug code="SE_TRANSIENT_FIELD_NOT_RESTORED"/> 
    </Match> 
</FindBugsFilter> 

в конечном счете, я хотел бы получить все пакеты, соответствующие (Glob синтаксис)

com.xenoterracide.rpf.*.ui или может быть просто com.xenoterracide.rpf.*

INFO] The field com.xenoterracide.rpf.character.ui.CharactersView.editDialog is transient but isn't set by deserialization [com.xenoterracide.rpf.character.ui.CharactersView] In CharactersView.java SE_TRANSIENT_FIELD_NOT_RESTORED 
[INFO] The field com.xenoterracide.rpf.character.ui.CharactersView.messenger is transient but isn't set by deserialization [com.xenoterracide.rpf.character.ui.CharactersView] In CharactersView.java SE_TRANSIENT_FIELD_NOT_RESTORED 
[INFO] The field com.xenoterracide.rpf.character.ui.CharactersView.repo is transient but isn't set by deserialization [com.xenoterracide.rpf.character.ui.CharactersView] In CharactersView.java SE_TRANSIENT_FIELD_NOT_RESTORED 
[INFO] The field com.xenoterracide.rpf.ui.NavigationBar.messages is transient but isn't set by deserialization [com.xenoterracide.rpf.ui.NavigationBar] In NavigationBar.java SE_TRANSIENT_FIELD_NOT_RESTORED 
[INFO] The field com.xenoterracide.rpf.ui.components.EditDialog.repository is transient but isn't set by deserialization [com.xenoterracide.rpf.ui.components.EditDialog] In EditDialog.java SE_TRANSIENT_FIELD_NOT_RESTORED 
[INFO] 

конфигурации в родительских

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>findbugs-maven-plugin</artifactId> 
    <version>3.0.3</version> 
    <configuration> 
     <effort>Max</effort> 
     <threshold>Low</threshold> 
     <xmlOutput>false</xmlOutput> 
     <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>test-compile</phase> 
     <goals> 
      <goal>check</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

Это работает, но довольно многословен и не будет масштабироваться

<?xml version="1.0" encoding="UTF-8"?> 
<FindBugsFilter> 
    <Match> 
    <Class name="com.xenoterracide.rpf.character.ui.CharactersView"/> 
    <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/> 
    </Match> 
    <Match> 
    <Class name="com.xenoterracide.rpf.character.ui.CharacterEditDialog"/> 
    <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/> 
    </Match> 
    <Match> 
    <Class name="com.xenoterracide.rpf.ui.NavigationBar"/> 
    <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/> 
    </Match> 
    <Match> 
    <Class name="com.xenoterracide.rpf.ui.components.EditDialog"/> 
    <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/> 
    </Match> 
</FindBugsFilter> 

ответ

3

это работает, и соответствует всем 5 классов

<?xml version="1.0" encoding="UTF-8"?> 
<FindBugsFilter> 
    <Match> 
    <Package name="~com\.xenoterracide\.rpf[.a-zA-Z0-9]*\.ui.*"/> 
    <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/> 
    </Match> 
</FindBugsFilter> 
1

Попробуйте это:

<Package name="com\.xenoterracide\.rpf\.\*(\.ui)?"/> 

Update: даже если я начну с "синтаксис", это сделало бы более смысл:

<Package name="~com[.]xenoterracide[.]rpf[.][*]([.]ui)?"/> 
+0

:/no это тоже не работает, обновленный вопрос включает текущий вывод ошибки. Я думаю, что ~ для него требуется, чтобы начать синтаксический анализ как регулярное выражение – xenoterracide

+0

все еще не работает ... grrr .... – xenoterracide

Смежные вопросы