社内SEの徒然なる日記

EclipseでJava総称型のワーニングの黄色を消したい(java1.4 → java1.6)

■ Javaのバージョンアップ

10年ほど前(2002年〜2006年辺り)に開発したシステムがあります。そのシステムのハード更新が必要になったのですが、使っているアプリケーションサーバがついにJava1.4(JDK1.4と言うべきか)に対応しなくなりました。

ってことで、やむなく1.6に上げることになりました。

■ Eclipseのワーニング

それはそれで良いのですが、Eclipseの設定を弄ってコンパイラー準拠レベルを1.6にしたところ、大量のワーニングが発生しました。
総称型のワーニング対応 - 1

ソースを見てみると、酷い状態になっています。
総称型のワーニング対応 - 2

エラーの内容は、「ArrayList は raw 型です。総称型 ArrayListへの参照は、パラメーター化する必要があります」です。

ちなみに、ほぼ同じエラーがHashMapでも発生しています。こっちは「HashMap は raw 型です。総称型 HashMapへの参照は、パラメーター化する必要があります」ですね。
総称型のワーニング対応 - 3

別に、こっちは必要としていないのですが、それは・・・

私がシステムのお守りを引き継いだ時には結構な数のワーニングが残っていて、それが目障りで頑張って削って綺麗にしてきたので、こうも警告がたくさん出ると心が折れそうです(--;)

理想は総称型とやらに対応するようにソースを書きなおせば良いのでしょうし、個人的にはそうしたいのですが、そんな余力はありません。それに、直さなくても動くのでコストを掛けてまで対応する理由がないのも痛い所です。

しかし、こんな大量のワーニングが出たままだと今後のメンテナンスが辛いです。ってことで、Eclipseの設定を弄って対応することにしました。

■ Eclipseの設定変更

Eclipseではコンパイル時のエラーや警告の表示を変更することが出来ます。その設定は、Eclipse全体に設定する方法と、プロジェクト個別に設定する方法の2通りがあります。

Eclipse自体の設定は、「ウィンドウ」-「設定」を選択。
総称型のワーニング対応 - 4

左側のリストから「Java」-「コンパイラー」-「エラー/警告」を選択して、画面右側で「総称型」を表示。表示されたリストを全て「無視」に変えて、「OK」を選択します。
総称型のワーニング対応 - 5

フル・ビルドの要求が出てきたので、ここで「はい」を選択。
総称型のワーニング対応 - 6

すると、警告件数がグッと少なくなりました!

思う所は色々とあるけど、とりあえずこれで良しとしましょう。

■ プロジェクト個別の設定

複数のプロジェクトを走らせている場合、プロジェクトごとに設定を変えることが出来るようです(まぁ、それが出来ないと複数のシステムを管理している人は困るので、出来て当然なのでしょうが)。

その場合は、プロジェクトを選択した状態で「プロジェクト」-「プロパティー」を選択。
総称型のワーニング対応 - 7

左側のリストから「Javaコンパイラー」-「エラー/警告」を選択して、画面右側で「総称型」を表示。表示されたリストを全て「無視」に変えて、「OK」を選択します。
総称型のワーニング対応 - 8

※ 上記の図では「警告」のままになっていますが、本当は「無視」に変えます。

■ 後書き

ちなみに、Javaのバージョンを1.7とか1.8じゃなくて1.6に留めたのは、移行を依頼したベンダーの希望でした。何でも、実績がないのでトラブル時に対応が厳しいと。

先の事を考えると一気に上げたいのですが、Javaの他にも結構色々と環境を弄るので冒険が出来なかった。それが、ちと心残りです。

さて、この判断が吉と出るか凶と出るか・・・

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

コメント


管理者にだけ表示を許可する