Make javac treat warnings as errors

JavaAntWarningsJavac

Java Problem Overview


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?

Java Solutions


Solution 1 - Java

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>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionItay MamanView Question on Stackoverflow
Solution 1 - JavaMichael MyersView Answer on Stackoverflow