2009-06-24 19 views
56

Ich habe eine Ant-Datei, die mein Programm kompiliert. Ich möchte, dass die Java-Task fehlschlägt, wenn vom Compiler eine Warnung gemeldet wurde. Irgendwelche Hinweise, wie das geht?Javac: Behandle Warnungen als Fehler

+2

+1, weil ich nie zu sehen hätte gedacht. –

Antwort

55

Verwenden Sie das Flag -Werror. Es ist nicht in der Ausgabe aufgeführt, aber es funktioniert.

Ich fand es durch this blog entry und getestet auf meinem eigenen Code (in NetBeans mit Ant). Der Ausgang war:

 
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) 

Hinweis, dass dies Java 6 nur, wenn.

bearbeiten: Beispiel für diese in Ant Buildfile Angabe:

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

Und ja, es ist wahrscheinlich nicht die beste Idee, -Werror mit -Xlint zu kombinieren, so wie ich es hier gemacht habe. –

+0

Wissen Sie, wie Sie javac.compilerargs direkt in Ant-Builddatei angeben? Der Blogpost ist ein wenig unklar. – Jonik

+2

Ah, einen Weg gefunden: das [ Element] (http://ant.apache.org/manual/Tasks/javac.html). Ich habe mir erlaubt, Ihrer Antwort ein Beispiel hinzuzufügen. – Jonik

Verwandte Themen