本ページはプロモーションが含まれています

Java入門

Java_SE・EE・MEとは?違いと選び方を解説

SE / EE / ME(Javaのエディションの違い)

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

「Java SE」「Java EE(Jakarta EE)」「Java ME」とは、Javaにおける3つのエディション(種類)のことです。

Java SEは言語仕様・標準API・JVM(Java仮想マシン)をまとめた「標準版」で、2026年9月時点の長期サポート版(LTS)の最新はJava 25です。Java EEはWebや企業システム向けのAPIをSEに追加した「拡張版」で、現在は「Jakarta EE」という名前で開発が続いています(最新版はJakarta EE 11)。Java MEは小型機器向けにSEを絞り込んだ「軽量版」です。

求人票や書籍でこれらの名前を見て、「結局どれを学べばいいの?」と迷っていませんか。

結論から言えば、最初に学ぶべきは「Java SE」一択です。

SEはすべてのJava技術の土台であり、EE(Jakarta EE)・MEはどちらもSEを前提とした派生版だからです。

ただし、その理由とエディションごとの違いを理解しておくことで、将来のキャリア選択や学習効率が大きく変わります。

  • Java SE・EE・ME、3つのエディションの違い
  • それぞれの用途・API範囲・開発環境の比較
  • 2026年現在、初心者が最初に学ぶべきエディション

この記事では、Java開発歴12年の現役エンジニアが、3つのエディション(SE・EE・ME)の違い・用途・開発環境を比較しながら、あなたの目的に合ったエディション選びをサポートします。

Javaのエディションとは?SE・EE・MEの基本

Javaのエディション(SE・EE・ME)とは何かを示す図解

そもそも「エディション」とは何を意味するのか

Javaのエディションとは、簡単に言えば「種類」や「版」のことです。

ソフトウェアの世界では、特定の使う場面や機能の違いに合わせて、中身を調整したパッケージのことを「エディション」と呼ぶことがよくあります。

例えば、OSのWindowsに「Home」や「Pro」があるように、利用する人や目的に合わせて機能が追加されていたり、逆に機能が制限されていたりします。

Javaにおけるエディションも、これと似たようなものだとイメージしてください。

なぜ複数のエディションが存在するのか

Javaには、なぜ複数のエディションが存在するのでしょうか。

それは、Javaが「あらゆる環境で、ひとつのプログラムが動くこと」を目指して作られたプログラミング言語だからです。

この設計思想のおかげで、Javaは多くの場所で使われるようになりました。

たとえば、個人のパソコンで動く小さなツールから、世界中の銀行が利用するような巨大なシステム、さらには小さな家電製品の中にまでJavaは使われています。

これだけ多様な環境で使われるようになると、ひとつのJavaですべてをまかなうのは難しくなります。

小さな家電製品に、巨大なシステムを作るための機能をすべて詰め込むのはムダが多いですし、逆にパソコン用の基本機能だけでは、大規模なWebシステムを作るのはとても大変です。

そこで、開発する対象に合わせて、Javaの機能を「パッケージ化」する必要が生まれました。

その結果、Javaは主な3つのエディションに分けられることになったのです。

Javaの主な3つのエディション

Javaの主な3つのエディション(SE・EE・ME)を示す図解

Javaには、大きく分けて「Java SE」「Java EE」「Java ME」という3つのエディションがあります。それぞれの特徴を見ていきましょう。

Java SE(Standard Edition)とは?

Java SE (Standard Edition) は、Javaの「標準版」であり、すべてのJava技術の中心となる最も基本的なエディションです。

私たちが一般的に「Javaを学ぶ」と言うとき、多くの場合、このJavaSEを学ぶことを指します。

Java SEには、Javaの基本文法、データ操作のためのAPI、そしてプログラムを実行する「Java仮想マシン(JVM)」など、中核機能がすべて含まれています。

APIとは、プログラミングで利用できる便利な機能の集まりのことです。

主に、WindowsやMac、Linuxといったパソコン上で動作する「デスクトップアプリケーション」の開発に使われます。

後述するJava EEやJava MEも、このJava SEを土台にして作られており、まさにJavaの「核」となるエディションです。

Java EE(Enterprise Edition)とは?

Java EE (Enterprise Edition) は、大規模な企業(エンタープライズ)向けシステムや、Webアプリケーションを開発するためのエディションです。

Java SEのすべての機能を含んだうえで、さらにWebシステム開発に特化した高度な機能(API)が大量に追加されています。

たとえば、Webサイトの裏側で動くサーバサイドのプログラム (サーブレット、JSP) や、データベースとのやり取りを効率化する機能、複数の処理を安全に実行する機能 (トランザクション管理) などです。

AmazonのようなEコマースサイトや、銀行のオンラインバンキングシステムなど、多くの人が同時にアクセスし、複雑な処理を行う必要があるWebサービスの開発に利用されます。

私の実務経験では、金融系や官公庁系のプロジェクトではJava EE(Jakarta EE)ベースの開発が今も現役で使われています。

一方、Web系スタートアップや自社開発企業ではSpring Bootが圧倒的に多い印象です。

なお、JavaEEは後でくわしく説明しますが、現在は「Jakarta EE」という名前に変わり、2025年6月にはJakarta EE 11がリリースされました。2026年9月時点では、次期版のJakarta EE 12(Java SE 21以上が前提)の策定が進められています。

Java ME(Micro Edition)とは?

Java ME (Micro Edition) は、小さな機器や組み込みシステム向けのエディションです。

「Micro(マイクロ)」という名前の通り、CPUの性能やメモリの容量が限られている環境でJavaを動かすために開発されました。

Java SEから機能を大幅にけずり、必要最小限の機能だけにしぼった「軽量版」のJavaです。

かつては、スマートフォンが登場する前の携帯電話(いわゆるガラケー)のゲームやアプリ開発で広く使われていました。

当時はJavaMEで動くアプリが主流でした。

2026年現在、その役目はスマートフォンアプリ(AndroidやiOS)に取って代わられています。Oracleの実装であるJava ME Embeddedも、CLDC 8/MEEP 8に準拠したバージョン8.3(SDKは2018年の8.3.1)以降、新しいバージョンは出ていません。

しかし、IoT機器やプリンタ、カーナビ、スマート家電といった「組み込みシステム」の分野で、Java MEの技術が引き続き利用されるケースがあります。

3つのエディションの関係
Jakarta EE(旧Java EE):サーバー・企業向け
Java SE:言語仕様と標準API(すべての土台)
基本文法・コレクション・I/O など
この上に、Servletなどの企業向けAPIを追加
Java ME:組み込み・小型機器向け
SEを絞り込んだ軽量版

Java SE・EE・MEの違いを比較

Java SE・EE・MEの違いを比較した図解

3つのJavaエディション (Java SE, Java EE, Java ME) の違いを、もう少し具体的に比較してみましょう。

Java SE・EE・MEの違い一覧表

3つのエディションの違いを一覧表で整理します。

項目Java SEJava EE(Jakarta EE)Java ME
正式名称Standard EditionEnterprise EditionMicro Edition
用途基本的なアプリ開発大規模Webシステム組み込み・IoT
対象環境PC(Windows/Mac/Linux)サーバ(Tomcat/WildFly等)小型機器・センサー
API範囲標準API(基本)SE全部+Web拡張APISEをもとにした小型機器向けの軽量API
現在の状況全Javaの土台(最新LTS:Java 25)Jakarta EE 11が最新(EE 12策定中)新規開発は限定的(ME Embedded は8.3以降更新が少ない)
学習優先度最優先SE習得後に学ぶ専門分野のみ

開発対象(デスクトップ/Web/モバイル)の違い

エディションごとの主な開発対象は、明確に分かれています。

  • Java SE (JavaSE):
    • パソコンで動くデスクトップアプリケーション。
    • (例:高機能な表計算ソフト、開発者向けのツールなど)
    • また、すべてのJavaエディションの「土台」となります。
  • Java EE (JavaEE) / Jakarta EE:
    • サーバ上で動作する大規模なWebアプリケーション、Webサービス。
    • (例:ネットショッピングサイト、企業の基幹システム、Web APIサーバなど)
  • Java ME (JavaME):
    • リソース (CPU/メモリ) が限られた小型機器、組み込みシステム。
    • (例:IoTデバイス、スマート家電、古い携帯電話のアプリなど)

利用できるAPIやライブラリの違い

「API (Application Programming Interface)」とは、かんたんに言うと「プログラミングで利用できる、便利な機能の集まり(部品)」のことです。

エディションごとに、利用できるAPIの範囲が大きく異なります。

  • Java SE:
    • Javaの「標準API」を提供します。
    • 文字列の操作、ファイルの読み書き、日付の計算、かんたんなネットワーク通信、画面表示 (GUI) など、プログラミングに必要な基本的な機能が一通りそろっています。
  • Java EE / Jakarta EE:
    • Java SEのAPIをすべて含んでいます。
    • その上で、Web開発に特化した「追加API」を大量に提供します。
    • (例:Webページを動的に作るためのAPI (Servlet/JSP)、データベース連携のためのAPI (JPA)、部品どうしをつなぐ依存性注入 (CDI) やEJB など)
    • Java SEの「全部入り+Web機能強化版」とイメージすると分かりやすいです。
  • Java ME:
    • Java SEのAPIから、機能を大幅に削ぎ落としています。
    • 限られたリソースで動くため、デスクトップ向けの画面表示機能などは含まれません。
    • 小型機器の制御や、かんたんな通信に必要な、最小限のAPIセットだけを提供します。Java SEの「軽量・縮小版」です。

開発環境・実行環境の違い

プログラムを開発する環境や、実際に動かす場所(実行環境)も異なります。

  • Java SE:
    • 開発:個人のパソコン (Windows, Macなど) にJDK (Java Development Kit) という開発キットをインストールして開発します。
    • 実行:開発したアプリは、JVMを含むJava実行環境の上で動作します。かつてはJRE (Java Runtime Environment) を別途インストールするのが一般的でしたが、Java 11以降はOracleが単体のJREを提供しておらず、JDKか、jlinkで作ったアプリ専用のランタイムで動かすのが主流です。
  • Java EE / Jakarta EE:
    • 開発:Java SEのJDKに加えて、EclipseやIntelliJ IDEAといった高機能な開発ツール (IDE) を使うのが一般的です。
    • 実行:開発したアプリは、「アプリケーションサーバ」と呼ばれる専用のソフトウェア上で動かします。Jakarta EEの仕様をひととおり実装したWildFly・Payara・Open Libertyのほか、Servletなど一部の仕様だけを実装した軽量なTomcatもよく使われます。Webブラウザなどからの要求を、このサーバが受け付けて処理します。
  • Java ME:
    • 開発:専用の開発ツールや、特定の機器向けのSDK (Software Development Kit) が必要になる場合があります。
    • 実行:対象となる機器(IoTデバイスなど)に組み込まれた、専用のJava実行環境 (KVM, CVMなど) 上で動作します。

2026年現在の主流エディションはどれ?

2026年現在のJava主流エディションを示す図解

ここまで3つのエディションを紹介しましたが、「では、今学ぶべき主流のエディションはどれか?」という疑問がわくと思います。この点を理解するために、近年のJavaの状況について少し補足します。

Java EEがJakarta EEに変わった理由

まず知っておくべき重要な変化は、Java EEが「Jakarta EE」に名前を変えたことです。

これは、Javaの開発元であるオラクル社が、2017年にJava EEに関する技術仕様や開発プロジェクトを「Eclipse Foundation」という非営利団体へ移管したために起こりました。

技術的な中身や目的は従来のJava EEを引き継いでいます。しかし、オラクル社が持つ「Java」という商標を、移管先が自由に使えなくなりました。

その結果、新しいコミュニティで開発を続けるために「Jakarta EE (ジャカルタ イーイー)」という新しい名前が付けられたのです。

2026年9月時点の最新版は、2025年6月にリリースされたJakarta EE 11です。次期版のJakarta EE 12もJava SE 21以上を前提に策定が進んでおり、企業向けの大規模Webシステム開発の標準技術として発展を続けています。

JavaでWeb開発をめざすなら、JavaEEの後継がJakarta EEと覚えておくと良いでしょう。ただし、Jakarta EE 8までは従来どおりjavax.*というパッケージ名でしたが、Jakarta EE 9(2020年)以降はjakarta.*に変わっています。Java EE 8以前のコードは、そのままではJakarta EE 9以降で動かない点に注意してください。

Java SEが開発の中心になっている理由

2026年現在のJava開発において、最も重要で、中心となっているエディションは「Java SE」です。2026年9月時点の最新版は2026年9月15日にリリースされたJava 27で、長期サポート版(LTS)の最新は2025年9月リリースのJava 25です。

その理由は大きく2つあります。

すべてのJava技術の「土台」であるから

Jakarta EE (旧Java EE) を使ったWeb開発を行うにしても、Java MEで組み込み開発を行うにしても、必ずJava SEで学ぶ「Javaの基本文法」や「標準API」の知識が必須となります。

また、世界中で最も多くの開発者がいるスマートフォンアプリ「Androidアプリ」の開発も、Java言語(またはKotlin言語)を使いますが、その文法はJava SEがベースになっています。

(※厳密にはAndroidはJava MEではなく、Google独自の実行環境とAPIを使います)

どの道に進むにしても、Java SEは避けて通れない「Javaの共通言語」なのです。

Java SEをベースにした強力なフレームワークの登場

もうひとつの大きな理由は、「Spring Framework (スプリング フレームワーク)」の存在です。

Springは、Java SEを土台にして動作する、Webアプリケーション開発のための「フレームワーク(枠組み)」です。

かつては、高機能なWebアプリを作るにはJava EE (Jakarta EE) の機能を使うのが一般的でした。

しかし、Java EEは学習コストが高く、設定が複雑という側面もありました。

そこへ登場したSpringは、Java SEの環境さえあれば、Java EEの機能(アプリケーションサーバなど)に頼らなくても、高機能で堅牢なWebアプリケーションを、よりかんたんに開発できる仕組みを提供しました。

この手軽さと機能性の高さからSpringは世界中で広く普及し、2026年現在のJavaによるWeb開発では、Jakarta EEよりも「Java SE + Spring Framework(Spring Boot)」という組み合わせが主流です。

この流れからも、Java SEの重要性がますます高まっていることがわかります。

エディション選びのポイント

目的別のJavaエディション選びのポイントを示す図解

それでは、これまでの話をふまえて、あなたがどのJavaエディションを選べばよいか、目的別にポイントをまとめます。

学習目的ならJava SE一択

もしあなたが「これからJavaを学びたい」「プログラミングを学習したい」という目的なら、迷わずJava SE を選んでください。これが最適解です。

理由はくり返しになりますが、Java SEがすべてのJava技術の「基礎」であり「標準」だからです。

Java SEで学ぶ、変数、制御文、メソッド、クラス、オブジェクト指向といった基本的な考え方や、標準APIの使い方を理解しなければ、他のエディションやSpringのようなフレームワークを使いこなすことはできません。

Web開発に進みたい場合でも、まずはJava SEの学習に集中し、Javaプログラミングの土台をしっかりと築くことが、結果として一番の近道になります。

私のおすすめの学習ステップは「Java SE(基本文法・オブジェクト指向)→ Spring Boot(Webアプリ開発)→ データベース連携(JPA/MyBatis)」の順番です。

この流れで学べば、現場で使われる技術スタックを効率よくカバーできます。

Webシステム開発を目指すならJakarta EE

もしあなたが、金融機関や官公庁、大企業で使われるような、大規模で信頼性が求められるWebシステムの開発にたずさわりたいと考えているなら、「Jakarta EE (旧Java EE)」の知識も必要になります。

こうした「お堅い」システムでは、Springではなく、Jakarta EEの仕様に準拠した昔ながらの開発スタイルが今も現役で使われている現場が少なくないからです。

ただし、学ぶ順番は「Java SEを習得した上で、Jakarta EEの追加機能 (Servlet, JSP, JPAなど) を学ぶ」という流れが一般的です。

最初からJakarta EEに飛びつくのはおすすめしません。

(もちろん、前述の通り「Java SE + Spring」を学ぶことでも、Webシステム開発の道はひらけます。むしろ現代はこちらが主流です。)

IoT・組み込み向けならJava ME

もしあなたが、スマート家電、工場のロボット、自動車の制御システム、センサーネットワークといった「IoT」や「組み込みシステム」の分野に強い興味があるなら、「Java ME (JavaME)」が選択肢になります。

ハードウェアに近い部分の制御や、限られたリソースでいかに効率よくプログラムを動かすか、といった専門的な技術や知識を学べます。

ただし、Java SEやJakarta EE (Spring) の分野と比べると、求人や案件の数は限定的であることは認識しておくと良いでしょう。

特定の分野で専門性を高めたい場合に検討するエディションです。

ここまでの選び方を1枚の図にまとめると、次のようになります。

flowchart TD A["☕ まずJava SEを学ぶ
基本文法・オブジェクト指向・標準API"] --> B{"作りたいものは?"} B -->|"デスクトップアプリ・ツール"| C["Java SEのまま開発"] B -->|"Webアプリ・業務システム"| D{"進みたい現場は?"} D -->|"Web系・自社開発が中心"| E["Java SE + Spring Boot
(現在の主流)"] D -->|"金融・官公庁など仕様準拠を重視"| F["Jakarta EE(旧Java EE)
Servlet・JPA・CDIなど"] B -->|"IoT・組み込み機器"| G["Java ME
(求人は限定的)"]

Java SE・EE・MEに関するよくある質問

Java SEとは何ですか?

Java SE(Standard Edition)とは、Javaの標準版であり、すべてのJava技術の土台となる最も基本的なエディションです。基本文法・標準API・JVMなど中核機能が含まれ、デスクトップアプリからSpring BootなどによるWeb開発まで、幅広い開発の土台になります。

Java EE(Jakarta EE)とは何ですか?

Java EE(現Jakarta EE)とは、Java SEの機能に加えて大規模なWebシステム・企業向けシステムの開発に特化した機能を追加したエディションです。2025年6月にJakarta EE 11がリリースされ、2026年9月時点では次期版のJakarta EE 12の策定も進むなど、現在も現役で使われています。

Java SEとJava MEの違いは何ですか?

Java SEはパソコン向けの標準版、Java MEはCPU・メモリが限られた小型機器向けにSEから機能を削ぎ落とした軽量版です。開発対象がPCか組み込み機器かで使い分けます。

Java EEとJava MEの違いは何ですか?

Java EEは大規模Webシステム向けにSEへ機能を追加した拡張版、Java MEは小型機器向けにSEから機能を削減した軽量版です。両者は正反対の方向にSEをカスタマイズしたエディションといえます。

初心者はどのエディションから学べばいいですか?

迷わずJava SEから学んでください。Java SEはすべてのJava技術の基礎であり、Jakarta EEやJava MEを使うにしてもSEの知識が前提になります。学習用のJDKは長期サポート版(LTS)のJava 25(または21)を選ぶと安心です。学習後はSpring Bootへ進むのが2026年現在の主流ルートです。

あわせて読む
あわせて読む

まとめ:自分に合ったJavaエディションを選ぼう

最後に、この記事の重要なポイントをまとめます。

それぞれの用途に最適なエディションの整理

Javaのエディションは、開発する対象の「規模」や「環境」に応じて、主に3つに分かれています。

  • Java SE (Standard Edition):
    • 用途: Javaの基礎。デスクトップアプリやWeb開発(Spring Boot等)の土台。
    • 特徴: すべてのJava技術の土台となる「標準版」。
  • Jakarta EE (旧 Java EE - Enterprise Edition):
    • 用途: 大規模Webシステム開発。
    • 特徴: Java SEに、Webサーバ機能などを追加した「全部入り機能強化版」。
  • Java ME (Micro Edition):
    • 用途: IoT機器、家電などの組み込みシステム。
    • 特徴: Java SEから機能を削った「小型機器むけ軽量版」。

初心者が最初に学ぶべきエディション

Javaをこれから学ぼうとしている初心者が、最初に学ぶべきエディションは「Java SE」です。

理由は、Java SEがすべてのJavaエディションの「標準」であり、プログラミングの「基礎体力」を身につけるためのエディションだからです。

2026年現在のJava開発の主流である「Java SE + Spring Boot」によるWeb開発に進むにしても、Jakarta EEを使った大規模開発に進むにしても、まずはJava SEの知識がないと先へ進むのは難しくなります。

「Javaのエディションが多くて、どれを選べばいいかわからない」という悩みは、これで解消するはずです。

あなたの目的が何であれ、Javaの世界への第一歩は「Java SE」を学ぶことから始まります。

ぜひ安心して、Java SEの学習をスタートさせてください。

REVISIONS / 改訂履歴
REV.DATE内容
42026-10-04記載内容の事実確認と修正
32026-09-042026年9月時点の情報で全体を見直し
22026-05-272026年5月時点の情報で全体を見直し
12025-11-07初版
  • この記事を書いた人
  • 最新記事

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

-Java入門