57

コンパイルすると、javac は次のように出力します。

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.`

この警告を抑制したいと思います。-Xlint:none を試しても解決しないようです。

4

9 に答える 9

39

ドキュメントでわかることから、コマンドラインでは実行できません。

javacドキュメントによると、 -Xlint:none は「Java言語仕様で義務付けられていない」警告のみを無効にします。非推奨の API の使用に関する警告は、言語仕様によって管理されているようです。

最善の選択肢は、非推奨の API の使用を修正することです。ただし、@SuppressWarnings("deprecation")非推奨の API を使用しているクラスまたはメソッドに注釈を追加することもできます。

于 2009-10-12T13:27:24.077 に答える
29

考えられる 2 つの方法:

  1. 非推奨の API を使用しない
  2. 使用する@SuppressWarnings("deprecation")
于 2009-10-12T13:22:46.037 に答える
27

グーグルがこの問題を検索していて、私がしたようにこのスレッドに出くわした他の人のために...

試してください:-Xlint:-非推奨

JDK6で動作するようです...他の人についてはよくわかりません。

于 2011-06-03T17:18:14.613 に答える
10

Java 6 では、@Depreated アノテーションもコミラー フラグも役に立ちません。私にとってうまくいった唯一の解決策は、非推奨のメソッドに@deprecated (小文字) タグを付けたjavadoc コメントを追加することでした。

/**
  * @deprecated overriding deprecated method
  */
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {...}

(この例は、JAXBContext から派生したクラスのものです。)

(インポートステートメントでの警告を避けるために、非推奨の Validator クラスをインポートしませんでした。)

于 2012-02-23T08:45:08.240 に答える
6

gradleを使用すると、簡単に構成できます。

tasks.withType(JavaCompile) {
    options.deprecation = false
}

(Gradle 2 および Java 8 でテスト済み)

于 2015-12-22T13:27:23.750 に答える
1

それがコア Java API である場合、ほぼ確実に、必要な機能を備えた代替品が存在します。その追加のパラメーターを指定して javac を実行し、廃止されたメソッドの API を調べて、必要に応じて置き換えます。

于 2009-10-12T13:25:17.013 に答える
0

以下を参照してください。

例えば

<javac srcdir="src" 
  destdir="build/classes" source="1.6" 
  target="1.6" debug="true" encoding="Cp1252"
  nowarn="on">

デフォルトでは noarn 属性はオフです

于 2014-12-16T16:56:18.867 に答える
-1

@SuppressWarnings("deprecation") 私のために働いていません、代わりに私は使用しました

@SuppressWarnings("unchecked")
于 2017-04-29T09:38:10.453 に答える