J'essaye de faire échouer ma construction java quand j'ai une classe qui remplace une méthode de super-classe sans spécifier l'annotation @Override.javac -Xlint: overrides ne fonctionne pas
La construction est fait par des fourmis, et je l'ai ajouté les éléments suivants à ma tâche <javac>
:
<compilerarg value="-Werror"/>
<compilerarg value="-Xlint:unchecked,overrides"/>
L'option unchecked
est suivie, mais l'option overrides
est ignorée. J'ai également essayé de séparer les deux options Xlint
en deux éléments distincts <compilerarg>
, en vain. Est-ce que je me méprends sur ce que cette option fait?
Une note: c'est JDK6 sur MacOSX (10.6). Pourrais-je être confronté à un bug spécifique à OSX?
fonctionne très bien sur ma machine OS X. J'ai testé avec l'exemple de remplacement ici: http://www.javaworld.com/community/node/5276 javac 1.6.0_22 –
Si vous utilisez IntelliJ IDEA il a une inspection pour faire exactement cela, mais il n'est pas activé par défaut , vous pouvez accéder aux paramètres> inspections> Annotation de remplacement manquant –