eclipse備忘録

ソースコード操作

行削除

Ctrl + D

行複製

Ctrl + Alt + ↓

メソッドの実装を開く

Ctrlを押しながらメソッドをクリック

または

クラスを右クリック> 型階層を開く

文字の拡大・縮小

拡大:Ctrl + 『+』
縮小:Ctrl + 『-』

ペイン分割

Ctrl + [

見ていた場所に戻る

Alt + ←

同じ変数をハイライト

ウィンドウ>設定> Javaエディタ出現カ所のマーク>チェックボックスをON

インデントフォーマット

インデントを自動で整理してくれる。

Eclipse KeyMapというプラグインを導入してから、以下のコマンドで実行する。

Alt + Shift + F

デバッグ

デバッグ実行

プロジェクトを右クリック> デバッグ> Springで実行

テストカバレッジ確認方法

テストコードのファイルを右クリック> カバレッジ

デバッグで値の変更

ブレークポイントで停止したら

ウィンドウ>ビューの表示>変数

ココで値を書き換えることができる

例外を発生させる

例外を発生させたいタイミングでブレークポイントで止める

ウィンドウ>ビューの表示>デバッグシェル

シェルが開いたら、以下を参考に、発生させたい例外を記述。

throw new Exception();

シェルに記載したテキストを選択して右クリック> 実行

※ブレークポイントの処理前に例外が発生する点に注意すること

ビューの設定

コンソールログを折り返す

ウィンドウ > 設定 > 実行/デバッグ> コンソール>ワード・ラップを使用可能にする

複数のコンソールビューを開く

コンソールタブの小さなアイコンの中から以下を探して操作する

『コンソールを開く』 > 『新規コンソールビュー』

表示したいプロジェクトを選択した状態で、 『選択されたコンソールの表示』

ディレクトリのネストが深すぎる

プロジェクトエクスプローラーになっていると、ドメインまで表示されるためネストが深く、扱いづらい。以下の手順で、パッケージエクスプローラーに変更する。

ウィンドウ>ビューの表示>パッケージエクスプローラー

ビルドエラーの確認

ウィンドウ>ビューの表示>問題

ファイル操作

閲覧中のファイルがサイドバーのプロジェクト・エクスプローラーで自動選択されない

プロジェクト・エクスプローラーの場合は機能しないので、パッケージ・エクスプローラーに変更する。

ウィンドウ>ビューの表示> その他>ダイアログが開く

Java パッケージ・エクスプローラーを選択

ファイル検索

Ctrl + H >Java検索タブ

  • 検索: タイプ
  • 制限: すべての出現ヵ所 ※宣言にして、 検索文字列から拡張子を削除した方が良いかも
  • 次を検索 アプリケーションライブラリ

またはCtrl+Shift+R

全体設定系

バージョン確認

ヘルプ>Eclipse IDEについて

以下のような表記で表示される。

2024-03 (4.31.0)

Eclipseは年に4回 (3月、6月、9月、12月) リリースされる。4.31.0は内部バージョン番号。

色テーマの変更

ウィンドウ > 設定 > 一般 > 「外観」をクリック。好きなテーマを選択する。

明るくするなら、ルック&フィールをライトに変更

キャッシュクリア

プロジェクト> クリーン

Eclipseが重い

下の方にある800Mといった数字を増やして、Eclipseメモリ増やす。

デバッグモードの起動が遅い場合は、ブレークポイントが大量に設定されたまま残っていないか確認する。

日本語化

Pleiades All in One ダウンロードから

『Pleiades プラグイン・ダウンロード』エリアのWindowsを選択

ファイルをダウンロードしたら、解凍する。

pleiadesの中にeclipseというフォルダがあるので配下のfeatures、plubinsの2フォルダを、eclipse側のフォルダ内にコピーする。(結構時間がかかる)

eclipse.iniの末尾に以下2行を追記する。

-Xverify:none
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

pleaiadesではそもそも日本語化済みのeclipseを配布しているので、本当はこれをインストールした方が早い。

プラグインがインストールされたかの確認

ヘルプ>Eclipse マーケットプレイス>『インストール済み』タブ

インシデント

ビルド時にJAVA_HOMEエラー

エラーメッセージ

ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk

eclipseをFull Editionで入れなおしたらエラーが出るようになった。

環境変数のエラー。JDKのパスが複数通っていたので、JAVA_HOMEのキーで登録しているもの以外を削除。

コマンドプロンプトを再起動して再ビルド試したら解消。

Eclipse起動時に落ちる

メモリ不足等で起動できない場合は、コマンドプロンプトで実行ファイルの格納先まで移動し、起動オプション付きで手動起動する。

eclipsec.exe -debug -consoleLog

-debug:詳細なデバッグログ出力を有効化する。Eclipseは内部のエラーハンドリング処理を強化モードで動かすようになる。通常モードだと「例外が握りつぶされてそのままJVM が終了」してしまうケースでも、ログ出力や例外処理のコードが有効になり、強制終了せずに動作が継続する場合がある。

-consoleLog:GUIだけでなく標準出力(コンソール)にもログを出すようになる。プラグインの初期化エラーなど、GUI上では無視されるエラーがコンソールに表示される。これにより「見えないまま JVMが落ちる」状況を回避できることがある。

エディタのエラーが解消しない

ソースコードのエラーを修正しても、×マークが消えないとき。

キャッシュの関係なのかわからないが、とりあえずそのままアプリケーションを実行すれば解消する。

プロジェクトをインポートしてもeclipseに認識されない

プロジェクトをビルドしていないか、『.project』ファイル無い。

『.project』ファイルは、eclipseがプロジェクトを認識するために必要なファイル。

すでにインポート済みのプロジェクトが急にeclipseに認識されず、アプリケーション実行できなくなった場合は、『.project』ファイルが壊れている。

eclipse用のファイルを生成するための

gradlew.bat eclipse

または、オプション無しでgradlew.batを実行する。

それでもだめなら、すでに他のビルド成功しているプロジェクトがあればそこからコピーして、自身のプロジェクト用に改変する。

ymlファイルを修正しようとするとフリーズする

ymlファイルを開き、修正を少しでも加えると、フッターに以下のメッセージが表示されてフリーズする。

言語サーバー"●●言語サーバー"初期化中

言語サーバーとは、eclipseがコード補完・構文チェック・リファクタリング支援などを行う仕組み。

ウィンドウ>設定>サイドバーの『言語サーバー』

エラーメッセージから、エラーを起こしている言語のチェックを外すことで解消する。今回はYAMLのチェックを外して解消した。

これにより、先のコーディングサポートが受けられなくなるが、そこまで影響は無いと思う。

アプリケーションを再起動したらポートが既に使用されている

アプリケーションを起動した状態でeclipseが落ちた。再起動すると、先ほどまで起動できていたアプリケーションが、ポートが既に使用済みとのことでエラーになる。

eclipseがクラッシュしたために、タスクがクローズされず残ってしまっているので、パワーシェルなどで以下の手順を確認し、残ってしまっているプロセスをキルする。

まずは8080ポートに使用されているプロセスのPIDを調べる。

netstat -ano | findstr :8080  //8080の部分は、件のポート番号を指定する

すると以下のようなレコードが見つかる。

TCP    0.0.0.0:8080    0.0.0.0:0    LISTENING    20384  //PIDは20384

次に、このPIDが何のタスクかを調べる。

tasklist /FI "PID eq 20384"

すると、以下のようなレコードが見つかった。

イメージ名    PID      セッション名    セッション#    メモリ使用量
======================================
javaw.exe     20384  Console           1                  123,456 K

javaw.exeは、eclipseなど、IDEからサーバーを起動した際に使用されるアプリケーション。

これでeclipseのクラッシュによって残ってしまったプロセスであることがほぼ確定なので、このプロセスをキルする。

taskkill /PID 20384 /F

無事、アプリケーションが再起動できた。

EntryPointを検出できない

SpringBoot&gradleプロジェクトを起動しようとすると以下のエラー

メイン・クラス xxx.xxx.EntryPoint を検出およびロードできませんでした。

プロジェクト>クリーン でキャッシュクリアしても、gradlewで再ビルドしても解消しない。

gradleでは、gradlewビルドすると以下の処理が行われる。

  1. /buildフォルダが作成される
  2. 配下にJavaファイルをコンパイルしたクラス(.javaで作成していたファイルたちが.class拡張子になる)が格納される(/build/classes配下)
  3. クラスパス(上記のクラスをどこに格納したか示すパス)が登録される …※
  4. アプリケーションは、クラスパス配下のEntryPoint.classを探しに行く

※本来はクラスパスを登録する指定が必要だが、eclipseでプロジェクトをビルドしていれば、クラスパスは自動で登録される。
この設定は.classpathファイルで指定されている。
gradleの場合は/build/classes/java/mainがクラスパスになる。

前置きが長くなったが、buildが失敗して、classesクラスが生成されていなかったりすると、上記のエラーが起きる。

再ビルドすると大抵は解消する。

あとは、eclipseではなく、パワーシェルなどのコンソールから、gradlew bootRunで起動してみると動いたりする。

 

 

 

コメント

タイトルとURLをコピーしました