2010-09-02 11 views
23

En mi proyecto de Eclipse hay un puñado de archivos .java generados que necesito usar para SQLJ y no puedo moverme a un proyecto separado (debido a la sobrecarga administrativa). Estos archivos también se regeneran regularmente, por lo que editarlos desafortunadamente está fuera.¿Cómo puedo desactivar las advertencias del compilador en Eclipse en base a un archivo específico?

Desafortunadamente estos archivos generan unos pocos cientos de advertencias del compilador de Java que hunden a cabo las advertencias de utilidad que recibo de archivos que en realidad puede editar.

¿Hay alguna forma en Eclipse de decir Ignorar todas las advertencias archivo por archivo? ¿O puedo bloquear un subdirectorio específico?

Respuesta

15

Se puede filtrar la vista de "problemas" en eclipse; Siempre lo tengo configurado para "en el elemento seleccionado y solo para sus hijos". Por supuesto, esto es más una alternativa, pero disminuye el impacto de tener los archivos en el mismo proyecto. (Tenga en cuenta que incluso si debe tenerlos en el mismo proyecto, puede guardarlos en una carpeta de origen separada).

Editar: Para configurar los filtros, encontrar el icono con una flecha hacia abajo con la información sobre herramientas "Menú Ver" en la parte superior derecha de la vista Problemas. Haga clic en él y luego haga clic en "configurar contenidos".

+1

He intentado filtrar la vista de problemas a un conjunto de trabajo. ¡Los "elementos seleccionados y sus hijos solamente" son realmente dulces! – kutuzof

+0

Por favor, aclare cómo filtrar la vista de problemas. No es obvio – wberry

+0

@wberry: ver edición. – meriton

2

Una forma de hacer esto es agregar @SuppressWarning(...) anotaciones al código fuente.

Otra forma sería la de mover el código problemático para un proyecto Eclipse separado y utilizar la configuración del compilador por proyecto.

EDITAR

Sin duda, se puede particionar su código en múltiples proyectos con las dependencias entre proyectos apropiados?

De lo contrario, diría que no tiene opciones realistas. (Pero si quiere algunos poco realistas, podría postprocesar el código generado para agregar las anotaciones, piratear el compilador Eclipse Java para implementar la supresión por archivo, piratear la vista "Problemas" de Eclipse para implementar el filtrado por archivo/directorio de errores, etc, etc)

+0

+1 "configuración del compilador por proyecto". ¡Algo nuevo aprendido! – bdhar

+0

Sí, eso es bueno. El problema es que los archivos SQLJ se generan de forma regular (cuando alguien cambia el SQL). Entonces todos los mensajes de @SuppressWarning (todos) desaparecen. – kutuzof

9

@SuppressWarningannotation?

Per, el comentario de Esteban, se encuentra la "opción por proyecto de configuración del compilador aquí"

Proyecto-> Propiedades-> Java Compiler-> Errores/Advertencias

Habilitar ajustes específicos del proyecto

alt text

+0

Bueno también. El problema es que los archivos SQLJ están en el mismo proyecto y muchas de las advertencias son útiles para otros archivos. Necesito una configuración específica de archivo ... – kutuzof

+0

El Javadoc para '@ SuppressWarning' no es muy útil para entender cómo usarlo. Le faltan ejemplos. – dolmen

+0

La documentación de Eclipse sobre '@ SuppressWarning' es más detallada. Ver mi propia respuesta. – dolmen

0

Si desea ocultar las advertencias en una clase o en un método, consulte la documentación de Eclipse en el Ejemplo @SuppressWarnings annotation o Java documentation

:

@SuppressWarnings("unused") 
public void foo() { 
    String s; 
} 
+0

Esto no funciona porque los archivos se generan regularmente. Así que cada vez tendría que agregar @SuppressWarning a mano a decenas de archivos. – kutuzof

16

Asegúrese de que los archivos están en la carpeta gen, la hogar típico para todos los archivos .java generados. Luego, en las propiedades del proyecto, en Ruta de compilación Java, establecer Ignorar problemas de compilación opcionales para esa carpeta a .

Si la estructura de su proyecto requiere sus archivos estén en una carpeta distinta de gen, agregue la carpeta a la ruta de construcción Java para que pueda compilar habilite ignorar los problemas opcionales para él.

+0

Muy útil. Esto parece ser lo que pidió OP, y yo necesitaba lo mismo. – StellarVortex

+2

esta es la respuesta a la pregunta – mvera

+0

Creo que esta es la respuesta a la pregunta del OP también. Para utilizar este enfoque con un proyecto de Maven, envío todos los archivos generados a src/main/gen y uso la solución de Edwards. – bigleftie

Cuestiones relacionadas