Eclipseセットアップ（お勧めプラン）

個人的にJavaで eclipse 使いなと思ったときのメモ。
やっぱり本格的にJavaやるなら VSCode で Java より断然いいよね。
1. **eclipse 本体のダウンロード（eclipse本家から）**
   https://www.eclipse.org/downloads/
   Javaファイル編集の場合（おすすめ）
   → [Eclipse IDE for Java Developers]をダウンロード
   サーブレットも作る場合
   → [Eclipse IDE for Enterprise Java and Web Developers]をダウンロード
   
:::note info
   Eclipse IDE for Enterprise Java and Web Developersを入れると、プロジェクトの新規作成で、動的ウェブアプリケーションを選んで、Servlet APIを別途用意しなくてもコーディングができたりする。
:::

   ダウンロードしたEclipseに対して新規プラグインを追加する時に、メニュー ［ヘルプ］ ＞ 
   新規ソフトウェアのインストール で入力するURL
```
   名前　　　　：Eclipse Repository
   ロケーション：https://download.eclipse.org/releases/20XX-YY
   
   20XX = 対象Eclipseのリリース年
   YY = 対象Eclipseのリリース月
```
　 
2. **eclipse 日本語化**
   Pleiadesプラグインをダウンロード
   https://willbrains.jp/
   zip解凍して、setup を実行する
   
:::note info
   私は Plieades All in One より、素の eclipse に日本語プラグインだけのほうが好み。
:::
　
3. **eclipseを実行するJDKを指定したい**
　 eclipse.ini を開いて、```-vm``` から ```-vmargs``` の間に利用したいJDKの```binフォルダのパス```を指定する。すでにパスが設定されている場合はそれよりも前に記入する。
```text:eclipse.ini
-vm
C:\Program Files\Java\jdk-21\bin　←こんな感じ。
plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.10.v20240120-1143/jre/bin
-vmargs
```

:::note info
パス中に半角スペースがあってもダブルクォーテーションは不要だよ。
デフォルトではeclipseに内包されているJavaが使われるので、個別にインストールしたJDKを使いたい場合に必要になる。
もし、同じEclipseでできているMemory Analyzerの実行時JDKを指定したい場合は、```-vmargs```の直前に```-vm```を追加して、その下にパスを指定するとよい。
:::
 　
4. **eclipseにオレオレ証明書を信用させる**
   事前にインポートしたいSSL証明書を準備しておく（crtやpemとかの拡張子）。
   keystore にSSL証明書をインポートする。
```
   $JAVA_HOME\bin\keytool -import -alias <Alias名> -keystore <Javaインストールディレクトリ>\lib\security\cacert -file <インポートしたい証明書>
```
   パスワードは [changeit] です。

:::note info
   keystoreはJavaの証明書ストアを保存する場所（ファイル）です。
   keystoreを操作するコマンドがkeytoolです。
   インストールしたJavaがデフォルトで利用する証明書ストアが上記ファイルです。
:::

   eclipse.ini を開いて、先ほどの cacert を読み込むように設定を追加する
```text:eclipse.ini
-Djavax.net.ssl.trustStore=<Javaインストールディレクトリ>\lib\security\cacert
-Djavax.net.ssl.trustStorePassword=changeit
```
パスワード設定は不要かも。

:::note info
   オレオレ証明書を信用させないとインターネットに接続できないようなプロキシ環境で必要。
:::
　
5. **eclipseからエクスプローラ・コマンドプロンプトを起動**
   eclipse>ヘルプ>eclipseマーケットプレイス から
   [EasyShell]をインストールする

:::note info
   eclipse上のファイルパスをWindowsエクスプローラで開きたい、コマンドプロンプトを表示したい場合に便利。
:::
　
6. **eclipseからLinux上のJavaファイルを編集・sshできるようにする**
 　eclipse>ヘルプ>eclipseマーケットプレイス から
   [Remote System Explorer]をインストールする

:::note info
   このプラグインを入れると、Windows上のeclipseから、Linuxにssh接続して、
   Linuxファイルシステム上のJavaファイルを編集できるようになる。
:::
　
7. **eclipseのヒープ使用量を表示**
   eclipse>ウィンドウ>設定 から
   一般 > [ヒープステータスを表示] をチェックすると、ウィンドウ下部に表示される。
   
:::note info
   eclipseの動作がもたつくなと思ったらメモリ使用量を確認してみる。
   eclipse.ini を開いて、初期ヒープサイズ：-Xms256m を増やしたら少し幸せかも。
   多分最大ヒープサイズ：-Xmx2048m になってるのでこれ以上は不要かと。
:::
　
 8. **eclipseでSVNを利用（Subclipse）**
   eclipse>ヘルプ>eclipseマーケットプレイス から
   [Subclipse]をインストールする
   
:::note info
   SubclipseはソースがSubversion管理されていると（.svnディレクトリを見つけると）と自動的にSubversion管理だと認識する。
Subversiveはいったんワークスペースから削除して、もう一度インポートするなど、何かしないと、Subversion管理だと認識しない。
:::
　
9. **eclipseで C/C++ のファイルを開く**
   eclipse>ヘルプ>eclipseマーケットプレイス で [CDT] と検索
   [Eclipse C/C++ IDE CDT]をインストールする
   
:::note info
   C/C++のソースも混じっているプロジェクトを開いたときに、.c/.cpp/.h ファイルが開けなくて何だかなぁという時に。
:::
　
10. **eclipseで開いているファイルの文字コードと改行コードを表示**
   eclipse>ヘルプ>eclipseマーケットプレイス で [Autodetect Encoding] と検索
   [Autodetect Encoding]をインストールする
   
:::note info
   VSCodeみたいに右下に文字コードと改行コードを表示するようにできるよ。
:::
　
11. **eclipseでfindbugs**
   eclipse>ヘルプ>eclipseマーケットプレイス で [findbugs] と検索
   [FindBugs Eclipse Plugin]をインストールする
   
:::note info
   ソースコードの品質向上に。
:::
　
12. **eclipseでCheckStyle**
   eclipse>ヘルプ>eclipseマーケットプレイス で [Checkstyle] と検索
   [Checkstyle Plug-in]をインストールする
   
:::note info
   ソースコードの書き方がコーディング規約に従っているかチェック。
:::
　
13. **eclipseで規模計測**
   以下URLからjp.sf.amateras.stepcounter_x.x.x.jarをダウンロードし、
   Eclipseのpluginsディレクトリに配置する。そして、eclipse再起動。
   https://github.com/takezoe/stepcounter
   
:::note info
   ちょこっとカウントしたいときに便利。ツール単体でもGUIアプリとして動作する。
   amaterasのツールは昔からお気に入り。
:::
　
14. **eclipseでJavadocビューの文字化けを解消したい**
   eclipseで日本語のJava標準APIのJavadocをホバーやJavadocビューで表示する場合、
   eclipseのワークスペース設定やプロジェクトの文字コード設定が```UTF-8```以外が設定
   されている場合に文字化けしてしまいます。
   プロジェクトでJavaソースの文字コードが```MS932```などが指定されている場合、
   上記設定を```UTF-8```に設定してしまうとファイルの文字コードが変更されてしまうため
   問題となる。

   この場合は、各ファイルごとの文字コード設定を```MS932```などに変更すれば問題が
   解消される。ただ、ファイルごとに設定が必要となってしまうため面倒...
   
   そこで、プロジェクト配下の```src```フォルダの文字コードを`MS932`に変更してやれば、
   その配下にあるすべてのファイルの文字コードを変更できるので便利。

:::note info
   Shift-JISで書かれたJavaソースで、日本語Javadocのホバー表示が文字化けして
   お悩みの方へ。Java18でデフォルト文字コードがUTF-8に変更されたので、
   これを機にソースファイルの文字コードを変更してみるのも良いですね。
:::

15. **eclipseでGUIプログラム**
   eclipse>ヘルプ>eclipseマーケットプレイス で windowbuilder と検索
   [WindowBuilder]をインストールする
   
:::note info
   VisualStudioみたいに、SwingアプリケーションのGUI作成を補助してくれる。
:::

 13. **eclipseでUML**
   Amateral UMLの不具合により Eclipse 2023-06 (4.28) 以降では動作しないようです。
   修正されるまでは旧リリース```Eclipse 2023-03 (4.27)```だと動作するようです。
　
   eclipse.ini を開いて以下を追加する。
   ```--add-opens=java.desktop/java.beans=ALL-UNNAMED ```
　   
   eclipse>ヘルプ>新規ソフトウェアのインストール で以下のアップデートサイトを入力
   http://takezoe.github.io/amateras-update-site
   ```Amaterasモデラー``` をインストール
   
:::note info
   ちょこっとクラス図・シーケンス図を描きたいときに良き。
   作者様サイト：https://takezoe.github.io/amateras-update-site/
:::

14. **逆コンパイル・デコンパイル**
   eclipse>ヘルプ>eclipseマーケットプレイス から
   [Echanced Class Decompiler]をインストールする

:::note info
Eclipse Class Decompiler というプラグインにマルウェアが混入していたため、フォームして作成されたプラグインとのこと。既に使用している人、Pleiades All in One を使用している人はインストールされている可能性があるので置き換えを推奨。
https://qiita.com/cypher256/items/d65616f2a65db0d62962
:::

:::note info
他にもこちらのプラグインも良さそう。
https://java-decompiler.github.io/

:::