Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Make javac treat warnings as errors

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?

like image 280
Itay Maman Avatar asked Jun 24 '09 18:06

Itay Maman


People also ask

What is warning error in Java?

Mar 18, 2021. Compiler warnings identify real problems, indicate likely programming mistakes or code smells. Warnings also indicate other unusual conditions in your code that might indicate a problem, although compilation can proceed successfully.

How do I fix eclipse warnings?

In your Eclipse, go to Window > Preferences > Java > Compiler > Errors/Warnings: Here you could switch any Warning entry to Error. Beware some entries may be hidden by expandable panels, so make sure you expand them all.

What does a Java compiler ignore?

In Java, comments are preceded by two forward slashes (//) in a line or enclosed between /* and */ in multiple lines. When the compiler sees //, it ignores all text after // in the same line.

What does Javac mean in Java?

The Java programming language compiler, javac , reads source files written in the Java programming language, and compiles them into bytecode class files.


1 Answers

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> 
like image 65
Michael Myers Avatar answered Sep 25 '22 09:09

Michael Myers