2011-09-27 12 views
8

Estoy usando Windows y Eclipse 3.7 Classic con el complemento ADT para el desarrollo de Android.Eclipse + FindBugs - excluir archivos de filtro no funciona

Acabo de instalar FindBugs y he encontrado un error en la clase R.java autogenerada.

Quiero excluir esta clase de las comprobaciones FindBugs.

He descubierto que puedo definir filtros para excluir FindBugs en el archivo XML, por lo que he creado un archivo D: \ Projects \ eclipse \ FindBugsExculde.xml con el texto

<FindBugsFilter> 
    <Match> 
    <Class name="com.android.demo.notepad3.R$attr" /> 
    </Match> 
</FindBugsFilter> 

He añadido este archivo a Eclipse -> Ventana -> Preferencias -> Java -> Buscar Bugs -> Filtrar archivos -> "Agregar ..." botón cerca de la sección "Excluir archivos de filtro".

Pero cuando haga clic en mi proyecto y seleccione "encontrar errores" -> "encontrar errores" Todavía veo el error

The class name com.android.demo.notepad3.R$attr doesn't start with an upper case letter 

Incluso me han tratado de sustituir

<Class name="com.android.demo.notepad3.R$attr" /> 

con

<Class name="~.*" /> 

pero el error está allí.

Traté de reiniciar Eclipse - sin suerte. Incluso pensé que a lo mejor hay un error en FindBugs por lo que no utiliza el archivo especificado, pero procmon.exe de SysinternalsSuite demuestra que lo uso cada vez que ejecuto FindBugs:

ProcessName Operation Path         Result 
javaw.exe QueryOpen D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe QueryOpen D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CreateFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CreateFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe QueryFileInternalInformationFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CloseFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe ReadFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CloseFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 

¿Qué estoy haciendo mal ? ¡Por favor, ayúdame!

Respuesta

21

Siguiendo las directivas de Jenkins Creé un findbugs-exclude.xml en mi espacio de trabajo android y lo agregué a través de Eclipse -> Ventana -> Preferencias -> Java -> FindBugs -> Filtrar archivos -> "Agregar ..." cerca del botón " Excluir archivos de filtro "sección para encontrar errores. Mi primer error fue que marqué la primera casilla de verificación (el filtro de inclusión :-) sección).

Luego comencé manualmente a encontrar los errores y todo estaba bien. El contenido de mi archivo es:

<?xml version="1.0" encoding="UTF-8"?> 
<FindBugsFilter> 
    <Match> 
     <Class name="~.*\.R\$.*"/> 
    </Match> 
    <Match> 
    <Class name="~.*\.Manifest\$.*"/> 
    </Match> 
</FindBugsFilter> 

Estoy usando Eclipse 3.7.1 y 1.3.9 findbugs. Espero que ayude.

0

Elimine el error manualmente. Seleccione el error y haga clic derecho, seleccione Eliminar. Luego reconstruye tu proyecto.

Podría ser que findbugs está ignorando el archivo correctamente, pero eso no quiere decir que los errores que ha planteado previamente en el archivo se eliminan, se mantienen vigentes, y hay que eliminarlos manualmente.

+0

Lamentablemente, este no es el caso :(He intentado eliminarlos como sugirió, pero vuelven a surgir la próxima vez que ejecute "Buscar errores".También traté de borrar el proyecto, los errores desaparecen, pero si ejecuto "Buscar errores", aparecen. – Kluyg

Cuestiones relacionadas