Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

Java初学者が陥りがちなEclipseの罠

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

初学者は現場(および経験者)ではまず遭遇しない種類のミスをするので、「すわ何事か」と焦らされることが多い。

ここではそんなミスを、備忘録含めて記載しておきたい。

Eclipseエディタのエラー表記が消えない

セーブしていない

基本。Eclipseのエラー表記は、保存されるタイミングで更新されるので、記述を直しても保存しないとマークが出たままになる。

何かのキャッシュが残ってしまっている

Eclipseでたまにある。コードは正しく、保存してもエラーが消えない。ただファイルを閉じて開くとエラーが消える。

「変数〜は一度も使われていません」

Eclipseの愛情を感じるエラーというかアラート。初心者向けのソースでは使わない変数でもお作法っぽい理由で変数作っていたりするので、けっこうこれが出てくる。Warningなので実行しても問題にはならないのだが、初学者はけっこう気にする。

未完成ソースコード

未完成のソースコードで「エラーやアラートが消えません」と言ってくる事例。そりゃ未完成だからね。書き進めると消える種類のもの。

ソースコードを右クリックして「実行>Javaアプリケーション」が表示されない

何か実行の構成が悪いのか、CLASSPATHの問題か、と悩んだがなんのことはない。

main()を誤記してmian()になっていた。

「public static void main()」にチェックを入れさせているのに、どうして誤記があるのだ……。

「新規の動的webプロジェクト」画面でTomcat8が選択できない

画面見せてもらったら、プロファイルが1つも存在しないので焦った。

どうも本人が「新規」を選ぶ際に「動的webプロジェクト」以外の何かを選択した模様。ウィンドウがそもそも間違っていた。

「新規の動的webプロジェクト」画面でOKボタンが押せない

Eclipseのダイアログの配置が悪くて、OKボタンがタスクバーに隠れてしまっている。

ウインドウをリサイズすればいいだけ……。

サーブレットを「サーバーから起動」していない

HTML をブラウザで表示させてそこからサーブレットを呼んでいるが、応答がない。

よく見ると、ローカルのCドライブを参照していて、Webサーバー経由になっていない。

ファイルが見つからない

「動的Webアプリケーション」の場合、Webコンテンツ(≒公開ディレクトリ)と「Javaリソース」が分かれている。

WebContentsディレクトリの中にJSPやHTMLはある。

トラブルと対処

ファイル保存

ソースコードの左に表示されている行番号にエラーが表示されている。

通常ソースコードを正しく修正するとこの表示が消えるのだが、たまに修正しただけではエラー表示が消えない場合がある。

まずファイルを保存する

閉じて開く

閉じて開くだけでエラー表示が消えることがある。キャッシュかなんかの関係らしい。

クリーン

プロジェクトを「クリーン」する。割と気休めっぽい感じがする。あまりこれで解決したことがない。

サーバー再起動

JSPのようなサーバーを使うアプリケーションの場合、内部のサーバーが正しく動いていないことがあるので、サーバーを選んで再起動してみる。

クラスがコンパイルされているか確認する

一度「特定のクラスファイルだけがなぜかコンパイルされない」という現象に遭遇した。