Lorsque je compile, javac génère:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.`
Je souhaite supprimer cet avertissement. Essayer -Xlint: aucun ne semble aider.
D'après ce que je peux dire dans la documentation, vous ne pouvez pas le faire en ligne de commande.
Selon la documentation javac
, -Xlint: none ne fait que désactiver les avertissements "non requis par la spécification du langage Java". Il semble que vous avertir de l'utilisation d'API obsolètes est géré par la spécification de langue.
Votre meilleure option serait de corriger l'utilisation d'API obsolètes. Cependant, une option consisterait à ajouter l'annotation @SuppressWarnings("deprecation")
aux classes ou méthodes utilisant les API obsolètes.
Deux manières possibles:
@SuppressWarnings("deprecation")
Pour d'autres, Google cherchant ce problème et tombant sur ce fil, comme moi.
Essayez: - Xlint: -deprecation
Cela semble fonctionner sur JDK 6 ... pas sûr des autres.
Avec Java 6, ni l'annotation @Depreated, ni un indicateur de comiler ne vous aideront ici. La seule solution qui a fonctionné pour moi a été de mettre un commentaire javadoc avec la balise @deprecated (petites capitales) sur la méthode obsolète:
/**
* @deprecated overriding deprecated method
*/
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {...}
(L'exemple provient d'une classe dérivée de JAXBContext.)
(Je n'ai pas importé la classe obsolète Validator pour éviter un avertissement sur l'instruction d'importation.)
Lorsque vous utilisez gradle vous pouvez le configurer facilement:
tasks.withType(JavaCompile) {
options.deprecation = false
}
(testé avec Gradle 2 et Java 8)
S'il s'agit d'une API Java principale, il y a presque certainement un remplaçant qui fera ce que vous voulez. Exécutez le fichier javac avec ce paramètre supplémentaire, puis examinez l'API pour la méthode obsolète et remplacez-la le cas échéant.
@SuppressWarnings("deprecation")
ne fonctionne pas pour moi, j'ai plutôt utilisé
@SuppressWarnings("unchecked")
utiliser l'attribut nowarn voir ci-dessous
par exemple.
<javac srcdir="src"
destdir="build/classes" source="1.6"
target="1.6" debug="true" encoding="Cp1252"
nowarn="on">
par défaut, l'attribut nowarn est désactivé