2009-06-24 15 views
56

Tengo un archivo Ant que compila mi programa. Quiero que la tarea javac falle si el compilador informa cualquier advertencia. ¿Alguna pista sobre cómo hacer eso?Javac: trate advertencias como errores

+2

+1 porque nunca habría pensado que debe buscar. –

Respuesta

55

Utilice la bandera -Werror. No aparece en la salida -help, pero funciona.

Lo encontré a través de this blog entry y probado en mi propio código (en NetBeans con Ant). El resultado fue:

 
MyClass.java:38: warning: [serial] serializable class MyClass has no definition of serialVersionUID 
public class MyClass extends JComponent { 
1 warning 
BUILD FAILED (total time: 3 seconds) 

Sin embargo, tenga en cuenta que esto solo es Java 6.

Editar: Ejemplo de especificar esto en Ant Buildfile:

<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"> 
    <compilerarg value="-Xlint:all"/> 
    <compilerarg value="-Werror"/> 
</javac> 
+2

Y sí, probablemente no sea la mejor idea combinar -Werror con -Xlint como lo estaba haciendo aquí. –

+0

¿Sabes cómo especificar javac.compilerargs directamente en Ant buildfile? La publicación del blog no está nada clara al respecto. – Jonik

+2

Ah, encontré una forma: el elemento [] (http://ant.apache.org/manual/Tasks/javac.html). Me tomé la libertad de agregar un ejemplo a tu respuesta. – Jonik

Cuestiones relacionadas