2009-06-24 13 views
56

Mam plik Ant, który kompiluje mój program. Chcę, aby zadanie javac zakończyło się niepowodzeniem, jeśli jakiekolwiek ostrzeżenie zostało zgłoszone przez kompilator. Jakąkolwiek wskazówkę, jak to zrobić?Javac: Traktuj ostrzeżenia jako błędy

+2

+1 bo bym nigdy nie myślał szukać. –

Odpowiedz

55

Użyj flagi -Werror. Nie ma go na liście wyjściowej -help, ale działa.

Znalazłem to przez this blog entry i przetestowałem na moim własnym kodzie (w NetBeans z Antem). Dane wyjściowe:

 
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) 

Należy jednak pamiętać, że jest to tylko Java 6.

Edit: Przykład określając w ten Ant buildfile:

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

I tak, to chyba nie najlepszy pomysł na połączenie -Werror z Xlintem, tak jak tu robiłem. –

+0

Czy wiesz, jak określić plik javac.compilerargs bezpośrednio w pliku kompilacji Ant? Wpis na blogu jest nieco niejasny. – Jonik

+2

Ah, znalazłem sposób: element [http://e.apache.org/manual/Tasks/javac.html]. Wziąłem wolność dodania przykładu do twojej odpowiedzi. – Jonik

Powiązane problemy