deprecationを何とかしたい
JDKで古いJavaのソースをコンパイルすると、

注: Foo.javaは推奨されないAPIを使用またはオーバーライドしています。
注: 詳細については、-deprecationオプションを指定して再コンパイルしてください。

などと表示されることがありますよね。Eclipseの場合には

メソッド bar は型 Baz で使用すべきではありません。

といったメッセージがタスクビューに表示され、該当個所に!マークが表示されます(デフォルト設定の場合)。

たとえば以下の画面はjavax.servlet.http.HttpSession#getValue()を使っているソースをコンパイル結果です。画面のあちらこちらに!が表示されています。


APIリファレンスを見るとgetValue()ではなくgetAttribute()を使うよう推奨されているので、ふつーはそう書き直すでしょう。しかしシステムの保守とかでdeprecationに出くわした場合、

など理由で、そのままにすることもあり得るでしょう。そんなとき、このdeprecationのメッセージは邪魔ですね。

Eclipseではコンパイル時のメッセージをある程度制御できます。この設定はメニュー[ウィンドウ]-[設定]-[Java]展開-[コンパイラー]-[エラーおよび警告]で行います(下図参照)。

この中の「使用すべきでないAPIの使用」をデフォルトの「警告」から「無視」に変えれば、deprecationのメッセージは表示されなくなります(上の図赤丸部分)。逆に「エラー」とすれば文法エラーとして扱われるため、必ず書き換えることになります。

また上図青丸部分を「無視」から「警告」に変えれば、使われていないローカル変数などに対して警告メッセージがでるようになります。


HomeBackMail tokikuta@da2.so-net.ne.jp