Make javac treat warnings as errors

Itay Maman picture Itay Maman · Jun 24, 2009 · Viewed 16.1k times · Source

I have an Ant file that compiles my program. I want the javac task to fail if any warning was reported by the compiler. Any clue on how to do that?

Answer

Michael Myers picture Michael Myers · Jun 24, 2009

Use the -Werror flag. It's not listed in the -help output, but it works.

I found it through this blog entry and tested on my own code (in NetBeans with Ant). The output was:

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)

Note that this is Java 6 only, though.

Edit: Example of specifying this in Ant buildfile:

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