Java プログラム開発時に知っておきたい IDE 4選 - 2024年度版
はじめに
Java プログラム開発時に知っておきたい IDE (統合開発環境) について、選択肢としては下記があります。
Visual Studio Code (VS Code) は高機能エディタですが拡張機能を利用することで IDE 相当のものとして使えるようになります。Java 専用の IDE の方が使い勝手が良く、高機能ですが、普段から VS Code を使っている人の場合は、本格的な Java プログラム開発をするのでないなら選択肢となるはずです。
無償で Docker 開発コンテナー環境内での開発ができることから、個人的には VS Code をよく使っています。また、Web アプリの開発だと、クライアントサイド部分は VS Code を使って TypeScript でプログラミングすることが多いので、その延長線上でサーバーサイドも VS Code を使うという感じでいます。
開発コンテナー環境内での開発については、IntelliJ IDEA も Ultimate 版であれば対応しているようなのですが、自分が使っているのは Community Edition で、これはリモート開発や JetBrains Gateway に対応していません。そのため、使ったことがありません。
なお、Java 以外のプログラミング言語を使った開発をするときに、VS Code を使っていると、新しい IDE を導入する前に一度は VS Code を使って開発することが多いだろうと思います。新しい開発環境に慣れるのは大変ですし、プログラミング言語以外の環境についての学習も必要になって負荷が高くなるからです。
こういったことを考えると、一般的には VS Code を使って Java のプログラミングを学習しようとしている人が多いだろうと推測しています。そのため、実際の開発をするときに VS Code 以外の IDE を指定されて使うことになる人が増えていそうだとも考えています。
ここでは、これらの開発用ソフトウェアについて簡単に紹介します。
VS Code
VS Code を使う場合は、Java General プロファイルか Java Spring プロファイルを使うのが基本です。いずれも次の拡張機能が含まれています。
- Extension Pack for Java (vscjava.vscode-java-pack)
- Language Support for Java(TM) by Red Hat (redhat.java)
「Extension Pack for Java」は、Java プロジェクト、Maven、Gradle に対応するために必要な拡張機能をまとめてパックにしたものです。
「Language Support for Java(TM) by Red Hat」は Eclipse IDE で使われているものと同じ言語エンジンを採用した Java 開発用の拡張機能です。
Java General プロファイルは Spring Framework を使わない Java アプリを開発するときに選択すれば良いです。
Java Spring プロファイルには、Spring Framework を使ったアプリを開発するのに便利な拡張機能が含まれています。最近は Spring Framework を使ったアプリを開発するときは Spring Boot を使うことが多いでしょう。
Spring Boot を使ったアプリ開発時は Spring Tools のサイト https://spring.io/tools で紹介されている Spring Tools 4 for Visual Studio Code という拡張機能を使うのが便利なので、Java Spring プロファイルには、これが含まれています。 Spring Tools の開発サイトは GitHub の spring-projects/sts4 にあります。
Java Spring プロファイルで実際に使われる拡張機能は次のものです。
これは、下記をまとめてパックにした拡張機能です。
- Spring Boot Tools (vmware.vscode-spring-boot)
- Spring Initializr Java Support (vscjava.vscode-spring-initializr)
- Spring Boot Dashboard (vscjava.vscode-spring-boot-dashboard)
Eclipse IDE
Eclipse IDE については開発したいアプリの内容によって選択肢が変わります。たとえば、2024-06 版で https://www.eclipse.org/downloads/packages/release/2024-06/r で公開されているパッケージには次のものがあります。
- Eclipse IDE for Enterprise Java and Web Developers
- Eclipse IDE for Java Developers
- Eclipse IDE for C/C++ Developers
- Eclipse IDE for PHP Developers
このように、Enterprise Java and Web、Java、C/C++、PHP の開発者向けに Eclipse IDE のパッケージは用意されています。ここでは、Java 用の Enterprise Java and Web Developers と Java Developers を対象とします。Java プログラミング時は、これらのどちらかを選択すれば良いです。
他にも Eclipse IDE をベースとした IDE がいくつかあります。
- Pleiades All in One Eclipse
- Spring Tool Suite 4
- Eclipse IDE + JBoss Tools
Pleiades All in One Eclipse は Eclipse IDE を日本語対応したものです。
Spring Tool Suite4 は Spring Framework で開発するときに便利なツールをまとめたもので、Eclipse IDE 用へ Spring Framework 用のプラグインを適用したものです。
JBoss Tools という Eclipse IDE 用のプラグインもあり、これを使うと WildFly、OpenShift、Quarkus といった Redhat 系のソフトウェアと組み合わせて Java アプリを開発することがしやすくなります。
Pleiades All in One Eclipse
Pleiades All in One Eclipse はいくつかのパッケージがあり、パッケージによって含まれているプラグインが変わります。Pleiades All in One Eclipse 2024 ダウンロード に一覧があります。Full Edition には JDK が含まれていて、Standard Edition には JDK が含まれていません。
Pleiades All in One Eclipse と STS との違いは、入門 | 開発環境構築 Eclipse STS ダウンロード にわかりやすい説明があります。
ここで、Eclipse IDE を使って Web アプリを作成するときは、WTP というプラグインを使うことが多いのですが、Servlet API 関連については、仕様策定をする団体が変わるなど、いろいろと経緯があったので、利用するときは注意が必要です。2/7 発売 『スッキリ Servlet 第 3 版』の改訂点&ポイント! - IT 入門書籍 スッキリシリーズ を読むと、そのあたりの注意点について簡単ながら雰囲気がわかります。
パッケージ | 説明 |
---|---|
Platform | 本体のみで言語サポートなし |
Ultimate | 他のもの全部に追加して Ruby に対応 |
Java | Java, STS, Tomcat 対応 |
C/C++ | C/C++ 対応 |
PHP | PHP 対応 |
PHP | Python 対応 |
Pleiades All in One Eclipse の場合は Java 版であっても Tomcat や STS が含まれるので、Enterprise Java 用のものが必要ない人は本家の Java Developers 用のものを使いたいと思うかもしれません。
Spring Tool Suite 4
Spring Tool Suite 4 は Spring Tools のサイト https://spring.io/tools で紹介されているものです。Eclipse IDE で Spring Framework を使うアプリを開発するときに使うと便利なプラグインを含めてまとめて配布しているものです。省略されて STS と呼ばれることもあります。
主要な OS にも対応していて、Windows 版、macOS 版、Linux GTK 版があります。Linux については Intel 版、ARM 版があります。macOS については M chip 版、Intel 版があります。
Spring Tools 4 for Eclipse 4.25.0 のいくつかのものについて、ダウンロード URL を示しておきます。他のものが必要な場合は https://spring.io/tools をご覧ください。
- Spring Tools 4 for Eclipse 4.25.0
- WINDOWS X86_64 https://cdn.spring.io/spring-tools/release/STS4/4.25.0.RELEASE/dist/e4.33/spring-tool-suite-4-4.25.0.RELEASE-e4.33.0-win32.win32.x86_64.zip
- MACOS ARM_64 https://cdn.spring.io/spring-tools/release/STS4/4.25.0.RELEASE/dist/e4.33/spring-tool-suite-4-4.25.0.RELEASE-e4.33.0-macosx.cocoa.aarch64.dmg
- LINUX X86_64 https://cdn.spring.io/spring-tools/release/STS4/4.25.0.RELEASE/dist/e4.33/spring-tool-suite-4-4.25.0.RELEASE-e4.33.0-linux.gtk.x86_64.tar.gz
Eclipse IDE + JBoss Tools
アプリケーションサーバーとして WirldFly を採用して Web アプリを動かしたい場合は、Eclipse IDE + JBoss Tools を使うと便利です。以前は、Red Hat CodeReady Studio という Eclipse IDE と JBoss Tools をまとめたものがリリースされていましたが、最近のものは JBoss Tools プラグインが https://tools.jboss.org/ で提供されているので、これをユーザーが Eclipse IDE へインストールして使います。
JBoss Tools は、Java EE の CDI 対応や、OpenShift、Quarkus Tools、WildFly といったものをサポートするツールです。Web サイトを確認すると、最近は開発が活発ではないような雰囲気がありますが、Red Hat の JBoss Enterprise Application Platform (JBoss EAP) に関心があって、ベースとなる OSS の WildFly に興味を持っている人の場合は、こういうものがあることを知っておくと良いはずです。
JetBrains InntelliJ IDEA
JetBrains InntelliJ IDEA は使いやすい Java 用の IDE で開発者に人気があります。無償で利用可能な Community Edition 版と有償の Ultimate 版があります。Ultimate 版は Community Edition 版よりも使える機能が多く JetBrains によるサポートを受けることができます。
インストールは JetBrains Toolbox アプリ を使うのが便利です。このアプリを使うと JetBrains が提供する IDE のインストールや管理がしやすくなります。これを使ってインストールした IDE については、最新版のチェックや更新が手軽にできるようになり便利です。開発元の JetBrains が提供する公式の管理ツールなので安心して使えます。
こういったメリットがあるので、著者は次の IDE をインストールするときに JetBrains Toolbox アプリを使っています。
- InntelliJ IDEA Community Edition
- PyCharm Community Edition
- Android Studio
InntelliJ IDEA Community Edition だけだと必要ないかもしれませんが、Python アプリの開発で使う PyCharm Community Edition や Android アプリの開発で使う Android Studio のインストールと管理にも利用できるので活用しています。
JetBrains Toolbox アプリは、Windows だと winget
コマンドでインストールすることができます。
winget install -e --id JetBrains.Toolbox
Ubuntu では本家のサイトから必要なファイルをダウンロードしてインストールできます。インストールに必要なファイルは https://www.jetbrains.com/toolbox-app/ のページから入手することもできます。
なお、2024-09-27 時点での System requirements は次のようになっていました。
- Windows: 64-bit Windows 10 or newer
- macOS: macOS 10.15 or newer
- Linux x86_64: glibc 2.17 (Ubuntu 18.04 or newer)
- Linux arm64: glibc 2.29 (Ubuntu 20.04 or newer)
Ubuntu(Linux) では JetBrains Toolbox アプリは、AppImage で提供されていて、実行にあたっては FUSE に対応している環境である必要があります。そのため下記パッケージをインストールしておく必要があります。
sudo apt -y install \
libfuse2 \
libxi6 \
libxrender1 \
libxtst6 \
mesa-utils \
libfontconfig \
libgtk-3-bin \
tar \
dbus-user-session
必要なファイルを入手して、JetBrains Toolbox アプリをインストールして起動したら、一覧表示にあるものから、必要なアプリをインストールします。ここでは、InntelliJ IDEA Community Edition をインストールします。
ちなみに、JetBrains Toolbox アプリを使って InntelliJ IDEA Community Edition をインストールすると、Ubuntu では ${HOME}/.local/share/JetBrains/Toolbox/apps/intellij-idea-community-edition/jbr
に JetBrains の Java が一緒にインストールされ、これを使って IDE が起動されるようになります。そのため、IntelliJ IDEA の実行に使用される Java ランタイムについて、自分が用意したものへ切り替えたい場合は、設定変更が必要となります。
Apache NetBeans
Apache NetBeans も Eclipse IDE と同様に Java アプリ、Java Web アプリ、C/C++ アプリ、PHP アプリといったものを開発するときに使える IDE です。実行するには Java が必要です。
Windows だと winget
コマンドでインストールすることができます。
winget install -e --id=Apache.NetBeans
なお、Apache.NetBeans
は BellSoft Liberica JDK に依存しているようです。手元で試したときは、これのバージョン22の winget
パッケージである BellSoft.LibericaJDK.22
もインストールされました。その結果、環境変数 ${JAVA_HOME}
に C:\Program Files\BellSoft\LibericaJDK-22\
というパスが設定されました。
ということで、winget
で Apache.NetBeans
をインストールすると、環境変数 ${JAVA_HOME}
を参照する他の開発ツールに影響があるので注意しましょう。あらかじめ他の JDK をインストールして、${JAVA_HOME}
を設定してあった場合は、そこで指定されていたものが使われるかもしれませんが、これについては未確認です。
Ubuntu だと snap
コマンドでインストールすることができます。
sudo snap install netbeans --classic
本家のダウンロードページである https://netbeans.apache.org/front/main/download/ から必要なファイルを入手してインストールすることもできます。
なお、NetBeans をインストールして初期状態だと英語メニューとなっています。これを日本語メニューにするには junichi11/netbeans-translations-ja を使う方法があります。サイトの情報だと本家に取り込まれるまでの暫定版ということなので、現在は他の方法で日本語メニューが使えるようになるのかもしれません。これについて調べてみましたが、他の方法はわかりませんでした。
ここでは、このサイトから入手できるプラグイン用のファイルである org-apache-netbeans-localise-ja-0.0.4.nbm
をインストールする方法を紹介します。
- リリースのページから
org-apache-netbeans-localise-ja-0.0.4.nbm
をダウンロード - NetBeans の 「Tool」-「Plugin」をクリック
- プラグインの画面で
Downloaded
のタブをクリック - インストールするプラグインのファイルとしてダウンロードした
org-apache-netbeans-localise-ja-0.0.4.nbm
を選択 - 「Install」をクリック
インストールが済むと、NetBeans を再起動するためのダイアログが表示されます。そのまま再起動すると、メニューが日本語になります。プラグインは古いので、翻訳されていない部分もあります。
おわりに
Java プログラム開発時に知っておきたい IDE (統合開発環境) について、2024年時点での情報を整理しました。
VS Code を普段使っている場合は、VS Code の拡張機能を使って環境を用意するところから始めれば良いでしょう。VS Code は拡張機能が充実しているため、無償で使用可能な IDE として、Java 以外に、TypeScript、Python、Ruby、Golang など多くのプログラミング言語をサポートしている点が人気の理由です。個人的には、とりあえず、メモ帳よりも高機能なエディタを1つ用意するとしたら、VS Code をインストールしています。そのため、手軽に使える Java 用の開発環境を用意したいときは、VS Code の拡張機能を追加でインストールしています。
ただし、Java 専用の IDE の方が高機能で情報が多くあります。本格的に開発をするなら、Eclipse IDE、JetBrains IntelliJ IDEA Community Edition、Apache NetBeans のどれかも使えるようになっておくのが良いでしょう。
日本では Eclipse IDE の人気が高く、これを使って開発をしている現場が多い印象です。Eclipse IDE が登場した頃は、IDE の中では高機能で軽快に動作したため、高い人気を誇っていました。その影響で豊富なプラグインも数多く開発されて充実しています。ただし、最近はプラグインの開発が停滞しているものが多い印象です。
企業の開発では、JetBrains IntelliJ IDEA Ultimate という JetBrains IntelliJ IDEA Community Edition の有償版を使っている現場も多くあります。仕事で IntelliJ IDEA を使っていたら、個人で利用するものも同じものにしたくなるでしょう。また、JetBrains の IDE には、Python プログラムの開発に使える PyCharm Community Edition や、アンドロイドアプリを開発するときに使う Android Studio というものがあります。これらも使うなら、同じような UI の IDE である IntelliJ IDEA を Java プログラムの開発時に使いたいと思うことでしょう。
Apache NetBeans は、もともと JDK を開発していた Sun Microsystems が開発していた IDE なので、いろいろな Java 向けのプログラムを開発するのに便利な機能が搭載されています。また、Java の Web アプリの開発でよく使われる Apache Tomcat などのアプリケーションサーバーの管理がしやすく、HTML、JavaScript、PHP といった Web アプリ開発で良く使われるものにも対応しています。さらに、JavaFX や Swing といった Java の GUI アプリ用ライブラリに対応しています。一時期、Python や Ruby 用のプラグインも提供されていたので、それらの IDE として使えるのではないかと個人的に注目していました。最新の NetBeans では、公式サポートから、これらのプラグインは外れているようなので、現在は Python や Ruby のプログラムを開発するときは他の IDE を使っています。
以上、それぞれの IDE について紹介しました。普段、自分が使っているプログラミング言語や、開発環境によって、どれを使うのが良いかは変わってきます。目的にあったものを選んで使えるようになりたいものです。
Discussion