【Laragon番外編10】Java 25とMaven 3.9.16を導入|VS Codeでデバッグ・JAR実行まで
Laragon番外編10では、Windows 11のLaragon環境へJava 25とMaven 3.9.16を導入し、Javaプログラムの作成・コンパイル・実行から、VS Codeでのデバッグ、Mavenプロジェクトの生成、JARファイルの実行まで進めます。
JavaやMavenをインストールして終わりではありません。
実際にHelloToshiLab.javaを作成してコンパイルし、VS CodeからRun・Debugを確認します。
さらにMavenでは、実際にプロジェクトを生成してJUnitテストとビルドを実行し、最終的にはJava 25をターゲットにした実行可能JARを作成して、
Hello World!
と表示できるところまで確認します。
この記事の最終目標は、
Laragon上でJava 25 + Maven 3.9.16 + VS Codeの開発環境を整え、Javaコードのコンパイル・デバッグ・Mavenビルド・実行可能JARの起動まで確認すること
です。
Spring Bootについては今回の記事へ詰め込まず、JavaとMavenの基礎環境を確認したあと、別の記事で扱います。
- 前回|Laragon番外編9 Ruby on Rails
- 今回確認したJava開発環境
- 1.Java導入前の状態を確認する
- 2.Eclipse Temurin JDK 25をLaragonへ追加する
- 3.Java 25とJAVA_HOMEを確認する
- 4.HelloToshiLab.javaを作成してコンパイルする
- 5.VS CodeでJavaを実行・デバッグする
- 6.Apache Maven 3.9.16をLaragonへ追加する
- 7.Laragonからmvnを使えるようにする
- 8.Mavenプロジェクトを作成する
- 9.VS CodeでMavenプロジェクトを確認する
- 10.mvn clean packageでテストとJAR生成を確認する
- 11.JDK 25でも最初のMaven設定はrelease 17だった
- 12.そのままではjava -jarで起動できなかった
- 13.pom.xmlへMain-Classを設定する
- 14.MavenのコンパイルターゲットをJava 25へ変更する
- 15.Java 25をターゲットに再ビルドする
- 16.Java 25で作成したJARを実行する
- 今回確認できたこと
- まとめ
- Laragon番外編の流れを確認する
- 次はSpring Bootを使ったWeb開発へ
前回|Laragon番外編9 Ruby on Rails
前回のLaragon番外編9では、Ruby 3.4.10の環境へRuby on Rails 8.1.3.1を導入し、実際にRailsアプリを作成してブラウザで動作確認しました。
今回はRuby・Railsから離れ、Javaの開発環境へ進みます。


画像内では「MavenのPATHを設定」としていますが、今回の実機環境ではWindowsのシステムPATHへ直接Mavenを追加するのではなく、LaragonですでにPATHへ含まれているC:\laragon\usr\binへmvn.cmdを用意する方法を使用しました。
今回確認したJava開発環境
今回、実機で確認した主な環境は次のとおりです。
| 項目 | 使用環境 |
|---|---|
| OS | Windows 11 |
| Laragon | Laragon 2026 v8.6.1 |
| JDK | Eclipse Temurin 25.0.4.1+1 LTS |
| Java | 25.0.4.1 |
| javac | 25.0.4.1 |
| Maven | Apache Maven 3.9.16 |
| エディター | Visual Studio Code |
| Java拡張 | Language Support for Java(TM) by Red Hat |
| デバッグ拡張 | Debugger for Java |
| Mavenプロジェクト | Maven Quickstart 1.5 |
今回使用したJavaは、Eclipse Adoptiumが提供するTemurin JDKです。
ここで表示される「Eclipse」はEclipse IDEを使用しているという意味ではなく、JDKの提供元であるEclipse Adoptiumを示しています。
1.Java導入前の状態を確認する
最初に、Javaを追加する前のLaragon TerminalでJavaが利用できる状態か確認しました。
where.exe java
java -version
javac -versionBAT (Batchfile)今回の環境では、where.exe javaでは実行ファイルが見つからず、java -versionとjavac -versionもコマンドとして認識されていませんでした。
Java導入前は、Laragon Terminalからjavaとjavacを利用できない状態でした。
新しい開発環境を追加するときは、最初に「現在何が使えるのか」を確認しておくと、導入後の変化が分かりやすくなります。
今回もJava導入前と導入後の両方を確認しています。
2.Eclipse Temurin JDK 25をLaragonへ追加する
今回はWindows x64向けの、
OpenJDK25U-jdk_x64_windows_hotspot_25.0.4.1_1.zip
を使用しました。
ZIPを展開し、LaragonのJava用フォルダへ配置します。
今回使用した場所は、
C:\laragon\bin\java\jdk-25.0.4.1+1
です。
- Eclipse Temurin JDK 25のWindows x64 ZIP版を入手する
- ZIPファイルを展開する
C:\laragon\bin\java\の下へJDKフォルダを配置する- Laragonをいったん終了する
- Laragonを再起動する
- 新しいLaragon Terminalを開く
- Java・javac・JAVA_HOMEを確認する
今回の環境では、JavaをLaragon配下へ配置してLaragonを再起動すると、Javaの実行パスとJAVA_HOMEが認識されました。
Windowsのシステム環境変数へJavaのPATHを手動追加する作業は行っていません。
3.Java 25とJAVA_HOMEを確認する
Laragonを再起動したら、新しいLaragon Terminalを開きます。
次のコマンドでJava環境を確認します。
where.exe java
java -version
javac -version
echo %JAVA_HOME%BAT (Batchfile)今回の環境では、
C:\laragon\bin\java\jdk-25.0.4.1+1\bin\java.exe
が使用され、
java -version
では、
25.0.4.1
を確認できました。
javac -versionも、
javac 25.0.4.1
です。
さらにJAVA_HOMEには、
C:\laragon\bin\java\jdk-25.0.4.1+1
が設定されていました。

Java環境を確認するときは、java -versionだけではなく、
・where.exe java
・java -version
・javac -version
・echo %JAVA_HOME%
まで確認しておくと、どのJavaを実行しているのか、コンパイラが利用できるか、JAVA_HOMEがどこを向いているかをまとめて確認できます。
4.HelloToshiLab.javaを作成してコンパイルする
Java本体を確認できたので、実際にJavaプログラムを作成します。
今回は、
C:\laragon\www\java-test
というフォルダを作成し、
HelloToshiLab.java
を用意しました。
対象ファイルとJavaコードは下記です。
C:\laragon\www\java-test\HelloToshiLab.javaPlaintextpublic class HelloToshiLab {
public static void main(String[] args) {
System.out.println("Hello, ToshiLab!");
}
}Java保存したら、Laragon Terminalからコンパイルと実行を行います。
javac HelloToshiLab.java
java HelloToshiLabBAT (Batchfile)正常に実行できると、
Hello, ToshiLab!Plaintextと表示されます。
javac HelloToshiLab.java
を実行すると、
HelloToshiLab.class
が生成されます。
続けて、
java HelloToshiLab
を実行します。
今回の環境では、
Hello, ToshiLab!
と表示されました。

ここまでで、Java 25が単にインストールされているだけではなく、ソースコードをコンパイルして実行できる状態まで確認できました。
5.VS CodeでJavaを実行・デバッグする
次に、VS CodeからJavaを扱える状態にします。
今回の環境では、Red Hatの、
Language Support for Java(TM)
を使用しました。
ただし、Javaコードの上に最初はRun | Debugが表示されませんでした。
確認すると、Microsoftの、
Debugger for Java
はインストール済みでしたが、無効になっていました。
そこでDebugger for Javaを有効にすると、main()の上へ、
Run | Debug
が表示されました。
古いjava.homeが残っていた場合
今回のVS Code設定には、以前使用していたJava 8の設定として、
C:\Program Files\Java\jdk1.8.0_251
が残っていました。
古いjava.homeをそのまま使わず、今回のJDK 25をJava Language Serverが参照できるように設定しました。
"java.jdt.ls.java.home": "C:\\laragon\\bin\\java\\jdk-25.0.4.1+1"JSON今回残っていた古い設定は、
"java.home": "C:\\Program Files\\Java\\jdk1.8.0_251"JSONでした。
古いJDKを参照している環境では、そのまま残さず現在使用するJava環境を確認してください。
設定後、Java Language ServerがJDK 25を認識し、Java関連のエラー通知も解消しました。
ブレークポイントを使ってDebugする
HelloToshiLab.javaの、
System.out.println("Hello, ToshiLab!");
の行へブレークポイントを設定してDebugを実行しました。
今回の環境では、ブレークポイントで正常に停止しました。
その後、Continueで処理を続行すると、
Hello, ToshiLab!
も正常に出力されました。

Javaコード自体に問題がなくても、VS Code側でRun | Debugが表示されない場合があります。
今回の実機では、Debugger for Javaがインストール済みでも無効になっていたことが原因でした。
Language Support for JavaとDebugger for Javaは役割が異なるため、デバッグを使用する場合はDebugger for Javaが有効になっているかも確認します。
6.Apache Maven 3.9.16をLaragonへ追加する
Java単体の動作確認ができたので、次はMavenを追加します。
今回は、
apache-maven-3.9.16-bin.zip
を使用しました。
展開したフォルダは、
C:\laragon\bin\maven\apache-maven-3.9.16
へ配置しています。
まず、Maven本体をフルパスで直接実行できるか確認しました。
"C:\laragon\bin\maven\apache-maven-3.9.16\bin\mvn.cmd" -versionBAT (Batchfile)今回の実機では、
Apache Maven 3.9.16Plaintextこの状態ではMaven 3.9.16そのものは正常に動作し、Java 25.0.4.1を使用していることも確認できました。
ところがLaragonを再起動しても、
mvn -version
だけではMavenが認識されませんでした。
Javaとは挙動が異なり、
C:\laragon\bin\maven\apache-maven-3.9.16\bin
までは自動的にPATHへ追加されていませんでした。
今回の実機では、
JavaはLaragon再起動後に自動認識されましたが、Mavenは同じ方法だけではmvnコマンドとして認識されませんでした。
「Laragonのbin配下へ置けば、どのツールでも自動的にネストしたbinまでPATHへ追加される」と考えないように注意してください。
7.Laragonからmvnを使えるようにする
Laragon TerminalのPATHには、
C:\laragon\usr\bin
が含まれています。
そこで今回は、この場所へMaven本体を呼び出す、
mvn.cmd
を作成しました。
保存場所は、
C:\laragon\usr\bin\mvn.cmd
です。
内容を確認します。
保存先:
C:\laragon\usr\bin\mvn.cmdPlaintextコード:
@echo off
call "C:\laragon\bin\maven\apache-maven-3.9.16\bin\mvn.cmd" %*BAT (Batchfile)これはMaven本体を複製するものではなく、Laragon Terminalから通常のmvnコマンドとして呼び出せるようにするためのラッパーです。
保存後、新しいLaragon TerminalでMavenを確認します。
where.exe mvn
mvn -versionBAT (Batchfile)今回の環境では、
where.exe mvn
の結果として、
C:\laragon\usr\bin\mvn.cmd
が表示されました。
mvn -versionでは、
・Apache Maven 3.9.16
・Java 25.0.4.1
・Eclipse Adoptium
・Windows 11
を確認できました。

今回使用したmvn.cmdは、Maven本体を別の場所へコピーしているわけではありません。
Laragonから呼び出しやすい場所に小さな入口を用意し、
C:\laragon\bin\maven\apache-maven-3.9.16\bin\mvn.cmd
を実行しています。
そのため、Maven本体はLaragonのbin\maven配下で管理したまま使用できます。
8.Mavenプロジェクトを作成する
Mavenを利用できるようになったので、実際のJavaプロジェクトを作成します。
今回はLaragonの、
C:\laragon\www
の下へ、
java-maven-test
というプロジェクトを作成しました。
実行したコマンドは下記です。
使用場所:Laragon Terminal
cd C:\laragon\www
mvn archetype:generate -DgroupId=jp.toshilab -DartifactId=java-maven-test -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.5 -DinteractiveMode=falseBAT (Batchfile)生成されるプロジェクト:
C:\laragon\www\java-maven-testPlaintext設定内容は
groupId:jp.toshilab
artifactId:java-maven-test
archetypeArtifactId:maven-archetype-quickstart
archetypeVersion:1.5Plaintextです。
今回指定した主な値は次のとおりです。
- groupId:
jp.toshilab - artifactId:
java-maven-test - Archetype:
maven-archetype-quickstart - Archetype Version:
1.5 - Interactive Mode:
false
処理の最後に、
BUILD SUCCESS
が表示され、プロジェクトが生成されました。
9.VS CodeでMavenプロジェクトを確認する
作成した、
C:\laragon\www\java-maven-test
をVS Codeで開きます。
Maven Quickstartによって、Javaのソースコードだけではなく、テスト用ファイルやpom.xmlも生成されています。

主に確認しておきたいのは、
・src/main/java:アプリケーション側
・src/test/java:テスト側
・pom.xml:Mavenのプロジェクト設定
・target:ビルド後の成果物を保存する場所
という点です。
10.mvn clean packageでテストとJAR生成を確認する
プロジェクトへ移動したら、最初のMavenビルドを実行します。
使用場所:C:\laragon\www\java-maven-test
cd C:\laragon\www\java-maven-test
mvn clean packageBAT (Batchfile)今回の実機ではJUnitテストが、
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0Plaintextとなり
BUILD SUCCESSPlaintextビルド結果は上記となり、テストに成功しました。
今回のMaven Quickstartでは、JUnitテストも自動生成されています。
さらに、
java-maven-test-1.0-SNAPSHOT.jar
も生成され、
BUILD SUCCESS
となりました。

targetフォルダのJARも確認する
実際に生成されたJARファイルは、targetフォルダからも確認できます。
まず、コンパイル済みクラスを直接実行します。
java -cp target\classes jp.toshilab.AppBAT (Batchfile)結果:
Hello World!Plaintext続けて、生成されたJARを確認します。
dir target\*.jarBAT (Batchfile)今回生成されたJARは、
java-maven-test-1.0-SNAPSHOT.jarPlaintextです。
JARをクラスパスとして実行する場合も、
java -cp target\java-maven-test-1.0-SNAPSHOT.jar jp.toshilab.AppBAT (Batchfile)で
Hello World!Plaintextを確認できました。

Mavenのtargetフォルダにjava-maven-test-1.0-SNAPSHOT.jarが生成されています。
11.JDK 25でも最初のMaven設定はrelease 17だった
ここで一つ重要な点があります。
今回実行しているJavaそのものは25ですが、Maven Quickstart 1.5で生成されたpom.xmlでは、
maven.compiler.release
が、
17
になっていました。
つまり、
MavenをJDK 25で実行していること
と、
作成するJavaプログラムのターゲットを25にすること
は別の設定です。
mvn -versionでJava 25が表示されても、それだけでプロジェクトがJava 25向けにコンパイルされるとは限りません。
pom.xmlの、
maven.compiler.release
も確認します。
12.そのままではjava -jarで起動できなかった
生成されたJARに対して、最初に、
使用場所:C:\laragon\www\java-maven-test
java -jar target\java-maven-test-1.0-SNAPSHOT.jarBAT (Batchfile)この段階ではMain-Classが設定されていないため、今回の実機では、
target\java-maven-test-1.0-SNAPSHOT.jarにメイン・マニフェスト属性がありませんPlaintextとなりました。
これはJAR生成そのものの失敗ではありません。
JARファイル自体の生成には成功していますが、java -jarで直接起動するためのMain-Classがまだ設定されていません。
13.pom.xmlへMain-Classを設定する
java -jarで起動できるよう、pom.xmlへmaven-jar-pluginの設定を追加します。
今回のMain-Classは、
jp.toshilab.App
です。
追加内容は下記です。
対象ファイル:
C:\laragon\www\java-maven-test\pom.xmlPlaintext~ 省略 ~
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
<configuration>
<archive>
<manifest>
<mainClass>jp.toshilab.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>XMLMain-Classとして、
jp.toshilab.AppPlaintext
maven-jar-pluginのmanifestへjp.toshilab.AppをMain-Classとして指定しました。
これによって、生成するJARへ起動クラスを記録できます。
14.MavenのコンパイルターゲットをJava 25へ変更する
続いて、pom.xmlの、
maven.compiler.release
を17から25へ変更します。
訂正前
<maven.compiler.release>17</maven.compiler.release>XML訂正後
<maven.compiler.release>25</maven.compiler.release>XMLこれによって、Mavenが使用しているJDKだけではなく、プロジェクト自体もJava 25をターゲットにしてコンパイルします。
pom.xmlを保存したところ、今回のVS Codeでは、
A build file was modified. Do you want to synchronize the Java classpath/configuration?
という通知が表示されました。
今回はYesを選択しました。

pom.xmlの変更後、VS CodeからJava classpath/configurationの同期を求められる場合があります。
今回の環境ではYesを選択して変更内容を同期しました。
15.Java 25をターゲットに再ビルドする
Main-ClassとJava 25の設定ができたので、もう一度Mavenでビルドします。
mvn clean packageBAT (Batchfile)今回の実機では、
Compiling 1 source file with javac [debug release 25] to target\classesPlaintextテスト側でも、
Compiling 1 source file with javac [debug release 25] to target\test-classesPlaintextを確認しました。
JUnitも、
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0Plaintextとなり、最終的に、
BUILD SUCCESSPlaintextとなりました。

Java 25をターゲットに変更後、Mavenのビルドが正常に完了しました。Java 25をターゲットに変更後、Mavenのコンパイル・JUnitテスト・JAR生成が正常に完了しました。
16.Java 25で作成したJARを実行する
最後に、生成したJARを直接実行します。
使用場所:C:\laragon\www\java-maven-test
java -jar target\java-maven-test-1.0-SNAPSHOT.jarBAT (Batchfile)今回の最終結果は、
Hello World!Plaintextです。
これで、
Java 25
↓
Maven 3.9.16
↓
JUnitテスト
↓
JAR生成
↓
Main-Class設定
↓
Java 25ターゲットで再ビルド
↓
java -jarで実行Plaintextまで確認できます。
今回の環境では、
Hello World!
と表示されました。

Java 25でビルドした実行可能JARをjava -jarで起動し、Hello World!が表示されるところまで確認できました。
ここまで確認できれば、
JDK導入 → javacによるコンパイル → VS Codeデバッグ → Maven導入 → Mavenプロジェクト作成 → JUnitテスト → Java 25ビルド → 実行可能JAR
というJava開発の基本的な一連の流れを、Laragon上で実際に確認できたことになります。
PR:『スッキリわかるJava入門 第5版』
LaragonでJava 25を利用できる環境を整え、Mavenを使ったビルドやJARファイルの実行まで確認できたら、次はJavaそのものをもう少し深く学んでみませんか?
『スッキリわかるJava入門 第5版』はJava 25に対応しており、Javaプログラムの基本から、クラスや継承、多態性、カプセル化といったオブジェクト指向まで段階的に学ぶことができます。
今回の記事ではJava 25の導入からMavenプロジェクトの作成、テスト、ビルド、JARの実行まで確認しました。その環境を使って、これからJavaのプログラミングを本格的に学びたい方におすすめの一冊です。
※本書はJava 25に対応しています。Mavenなど各種開発ツールのバージョンや設定については、本記事や各ツールの公式ドキュメントもあわせてご確認ください。
※価格や在庫、版数は変わるため、最終確認はリンク先でお願いします。
今回確認できたこと
今回のLaragon番外編10では、Javaをインストールするだけではなく、実際にJavaとMavenを使った開発環境を構築しました。
- Eclipse Temurin JDK 25.0.4.1+1をLaragonへ追加
- Java 25とjavac 25.0.4.1を確認
- JAVA_HOMEを確認
HelloToshiLab.javaをコンパイル・実行- VS CodeでJavaをRun・Debug
- ブレークポイントで停止できることを確認
- Apache Maven 3.9.16をLaragonへ追加
mvn.cmdから通常のmvnコマンドを利用- Maven Quickstartプロジェクトを生成
- JUnitテスト成功
- JARファイルを生成
- Main-Classを設定
maven.compiler.releaseを25へ変更- Java 25ターゲットで再ビルド
java -jarでHello World!を確認
まとめ
今回はWindows 11のLaragon環境へ、Eclipse Temurin JDK 25.0.4.1+1とApache Maven 3.9.16を追加しました。
Javaでは、
HelloToshiLab.java
を実際に作成し、javacでコンパイルして、
Hello, ToshiLab!
を表示しています。
VS CodeではLanguage Support for JavaとDebugger for Javaを利用し、Runだけでなくブレークポイントを使ったDebugまで確認しました。
MavenではQuickstartプロジェクトを作成し、JUnitテストとJAR生成を実行しています。
また、JDK 25を使用していてもQuickstartで生成されたプロジェクトのmaven.compiler.releaseは17だったため、最終的に25へ変更しました。
Main-Classも設定し、最後は、
java -jar target\java-maven-test-1.0-SNAPSHOT.jar
から、
Hello World!
を表示できています。
JavaやMavenは設定項目が多く見えますが、
・今どのJavaを使っているのか
・MavenがどのJavaを参照しているのか
・プロジェクトがどのJavaバージョンをターゲットにしているのか
を一つずつ確認すると、環境を切り分けやすくなります。
Laragon番外編の流れを確認する
Laragon番外編を最初から確認したい場合は、Laragon番外編1から複数バージョンを追加・切り替える基本的な仕組みを確認できます。

次はSpring Bootを使ったWeb開発へ
今回のLaragon番外編10では、Java 25とMaven 3.9.16をLaragon環境へ導入し、Javaプログラムのコンパイル・実行、VS Codeでのデバッグ、Mavenプロジェクトの生成、JUnitテスト、Java 25をターゲットにしたビルド、実行可能JARの起動まで確認しました。
ここまでで、Laragon上でJavaとMavenを使うための基本的な開発環境は整いました。
次は、今回構築したJava・Maven環境を土台として、Spring Bootを使ったWebアプリケーション開発を実機で確認しました。
Spring Bootでは、Java単体のプログラムとは異なり、Webサーバーを起動してブラウザからアクセスするところまで進めます。
Java・Mavenの基礎環境とSpring Bootを分けて確認しておくことで、問題が発生した場合にも、Java・Maven側の問題なのか、Spring Boot側の設定なのかを切り分けやすくなります。

その後のLaragon番外編については、Laragon環境のバックアップ・復元を扱う記事、またはシリーズ全体を整理するまとめ記事へ進むことを検討しています。

