コンパイルすると、javacは次を出力します。
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.`
この警告を抑制したいと思います。 -Xlint:noneを試しても役に立たないようです。
私がドキュメントで伝えることができることから、あなたはコマンドラインでそれを行うことはできません。
javac
documentation によれば、-Xlint:noneは「Java Language Specification」によって強制されていない」警告のみを無効にします。非推奨のAPIの使用は、言語仕様によって管理されています。
最適なオプションは、非推奨のAPIの使用を修正することです。ただし、推奨されないAPIを使用しているクラスまたはメソッドに@SuppressWarnings("deprecation")
注釈を追加するオプションがあります。
2つの可能な方法:
@SuppressWarnings("deprecation")
を使用しますGoogleがこの問題を検索し、私がやったようにこのスレッドにつまずいた他の人のために...
試してください:-Xlint:-deprecation
JDK 6で動作するようです...他の人についてはわかりません。
Java 6の場合、@ Depreatedアノテーションもコライラフラグもここでは役に立ちません。私のために働いた唯一の解決策は、javadocコメント@ deprecated(スモールキャップ)非推奨メソッドのタグ:
/**
* @deprecated overriding deprecated method
*/
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {...}
(この例は、JAXBContextから派生したクラスからのものです。)
(インポートステートメントの警告を避けるために、非推奨のValidatorクラスをインポートしませんでした。)
gradleを使用すると、簡単に設定できます。
tasks.withType(JavaCompile) {
options.deprecation = false
}
(Gradle 2およびJava 8)でテスト済み)
それがコアの場合、Java API、あなたが望むことをする代替品がほぼ確実にあります。その余分なパラメータでjavacを実行し、非推奨メソッドのAPIを見て、適切な。
nowarn属性を使用してください
例えば.
<javac srcdir="src"
destdir="build/classes" source="1.6"
target="1.6" debug="true" encoding="Cp1252"
nowarn="on">
デフォルトでは、nowarn属性はオフです
@SuppressWarnings("deprecation")
が機能していませんが、代わりに使用しました
@SuppressWarnings("unchecked")