Beim Kompilieren von Javac-Ausgaben:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.`
Ich möchte diese Warnung unterdrücken. Versuch -Xlint: Keiner scheint zu helfen.
Nach dem, was ich in den Dokumenten feststellen kann, können Sie dies nicht in der Befehlszeile tun.
Entsprechend der javac
-Dokumentation , -Xlint: none deaktiviert nur Warnungen, die nicht in der Java-Sprachspezifikation enthalten sind. Es scheint, dass die Warnung vor der Verwendung veralteter APIs von der Sprachspezifikation verwaltet wird.
Die beste Option wäre, die Verwendung veralteter APIs zu korrigieren. Eine Option wäre jedoch, die @SuppressWarnings("deprecation")
-Anmerkung zu den Klassen oder Methoden hinzuzufügen, die die veralteten APIs verwenden.
Zwei mögliche Wege:
@SuppressWarnings("deprecation")
Für andere, die Google dieses Problem gesucht haben und wie ich auf diesen Thread gestoßen sind ...
Versuchen Sie: - Xlint: -deprecation
Es scheint an JDK 6 zu arbeiten ... bei anderen nicht sicher.
Bei Java 6 helfen Ihnen hier weder die Annotation @Depreated noch ein Comiler-Flag. Die einzige Lösung, die für mich funktionierte, war, einen javadoc-Kommentar mit dem @deprecated - Tag (Small Caps) auf die veraltete Methode zu setzen:
/**
* @deprecated overriding deprecated method
*/
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {...}
(Das Beispiel stammt aus einer Klasse, die von JAXBContext abgeleitet ist.)
(Ich habe die veraltete Validator-Klasse nicht importiert, um eine Warnung in der Importanweisung zu vermeiden.)
Wenn Sie gradle verwenden, können Sie es einfach konfigurieren:
tasks.withType(JavaCompile) {
options.deprecation = false
}
(getestet mit Gradle 2 und Java 8)
Wenn es sich um eine zentrale Java-API handelt, gibt es fast sicher einen Ersatz, der das tut, was Sie wollen. Führen Sie den Javac mit diesem zusätzlichen Parameter aus, und suchen Sie dann die API für die veraltete Methode, und ersetzen Sie sie entsprechend.
@SuppressWarnings("deprecation")
funktioniert nicht für mich, stattdessen habe ich verwendet
@SuppressWarnings("unchecked")
verwenden Sie das Nowarn-Attribut (siehe unten)
z.B.
<javac srcdir="src"
destdir="build/classes" source="1.6"
target="1.6" debug="true" encoding="Cp1252"
nowarn="on">
standardmäßig ist das Attribut nowarn deaktiviert