コンテンツにスキップ

10-0. フルスタック実践の準備をする

  • Java(JDK 21 LTS)のインストール方法
  • インストールが正しくできたかを確認する方法
  • VS Code に Java 開発用拡張機能を追加する方法
  • フロントエンドとバックエンドを格納するプロジェクト全体のディレクトリ構成を作る方法

第10章では、ここまで学んだ HTML / JavaScript / Java を 1 つの書籍管理アプリへつなげていく。
フロントエンドとバックエンドの両方を触るため、まずここで Java 実行環境と VS Code の準備を整えてから、10-1 以降のコーディングへ進む。


Java でプログラムを実行するには JDK(Java Development Kit) が必要である。 JDK には「コンパイラ(javac)」と「実行環境(java)」の両方が含まれている。

ソースコード (.java)
↓ javac(コンパイラ)
バイトコード (.class)
↓ java(JVM・実行環境)
プログラム実行

JDK にはいくつかのディストリビューション(配布元)があるが、この研修では Eclipse Temurin(旧 AdoptOpenJDK) を使う。 理由は、無償・オープンソース・長期サポート(LTS)があり、企業でも広く使われているためである。

バージョンについて Java は2年ごとに LTS バージョンがリリースされる。 本研修では Java 21 LTS を使用する。


  1. ブラウザで https://adoptium.net/temurin/releases/?version=21 を開く

    Adoptium の JDK 21 ダウンロードページ。「JDK 21 - LTS」タブが選ばれており、macOS・Windows・Linux 向けのダウンロードカードが表示されている。

  2. JDK 21 - LTS タブが選択されていることを確認する

  3. Windows のカードにある ⬇ ボタンをクリックして .msi インストーラをダウンロードする (例:OpenJDK21U-jdk_x64_windows_hotspot_21.0.x_x.msi

  4. ダウンロードした .msi ファイルをダブルクリックする

  5. インストーラが起動したら Next で進める

  6. Add to PATH のオプションが表示された場合は有効にしておく

  7. Install を押して完了まで待つ

  8. Finish を押して終了する


Git Bash を新しく開いて、次のコマンドを実行する。

Terminal window
java --version

以下のように Java 21 のバージョン情報が表示されれば成功である。

openjdk 21.0.x 2024-xx-xx LTS
OpenJDK Runtime Environment Temurin-21.0.x+x (build 21.0.x+x-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.x+x (build 21.0.x+x-LTS, mixed mode, sharing)

コンパイラのバージョンも確認する。

Terminal window
javac --version
javac 21.0.x

「command not found」と表示される場合 ターミナルを一度閉じて新しく開き直す。 それでも解決しない場合は、PATH が正しく設定されていない可能性がある。 Windows の場合はシステム環境変数の PathC:\Program Files\Eclipse Adoptium\jdk-21.x.x.x-hotspot\bin が含まれているか確認する。


4. VS Code に Java 拡張機能を追加する

Section titled “4. VS Code に Java 拡張機能を追加する”

VS Code 単体では Java の開発補助機能(補完・エラー表示・デバッグ)が使えない。 Extension Pack for Java を追加することで、これらが一括で有効になる。

  1. VS Code を開く

  2. 左サイドバーの 拡張機能アイコン(四角が4つのアイコン)をクリックする

  3. 検索ボックスに Extension Pack for Java と入力する

  4. Extension Pack for Java(Microsoft 製)が表示されたら Install をクリックする

    VS Code Marketplace の Extension Pack for Java ページ。Microsoft 製の拡張機能で、Java の開発・デバッグ・テスト・プロジェクト管理ツールが含まれることが説明されている。

  5. インストールが完了するまで待つ

Extension Pack for Java は以下の拡張機能を一括でインストールする。

拡張機能役割
Language Support for Javaコード補完・型チェック・フォーマット
Debugger for Javaブレークポイントを使ったデバッグ
Test Runner for JavaJUnit テストの実行・結果表示
Maven for JavaMaven プロジェクトの管理
Project Manager for Javaプロジェクト一覧の管理
IntelliCodeAIによるコード補完の強化

この章の実践では Gradle を使う Extension Pack for Java には Maven 関連拡張も含まれるが、第10章の実践では https://start.spring.io/ が生成する gradlew / gradlew.bat を使う。
Windows でも Git Bash を使うなら、実行コマンドは基本的に ./gradlew ... の形で進められる。
そのため、Gradle 本体を別途インストールしなくても進められる。


環境が正しく整ったか確認するため、小さなプログラムを動かしてみる。

  1. 任意のフォルダ(例:~/workspace/hello-java/)を作成する
  2. VS Code でそのフォルダを開く(File > Open Folder...
  3. Hello.java というファイルを作成して、以下を入力する
Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
  1. ファイルを保存する(Ctrl+S
  2. VS Code のターミナル(通常は Ctrl + @。分からなければメニューの「Terminal > New Terminal」でもよい)を開く
  3. まず現在位置を確認する
Terminal window
pwd
ls

Hello.java が見える場所にいれば、そのターミナルでそのままコンパイルできる。

  1. 次を実行する
Terminal window
javac Hello.java
java Hello
  1. Hello, Java! と表示されれば成功である
Hello, Java!

VS Code の「Run」ボタンでも実行できる Hello.java を開いているとき、右上に ▷ ボタンが表示される。 クリックするとコンパイルと実行が自動で行われる。

javac: command not foundfile not found: Hello.java が出たら 前者は JDK の PATH 設定、後者はターミナルの現在位置が原因であることが多い。
まず javac --version と現在ディレクトリ確認へ戻る。


6. プロジェクト全体のディレクトリ構成を作る

Section titled “6. プロジェクト全体のディレクトリ構成を作る”

第10章では、フロントエンド(HTML/CSS/JS)とバックエンド(Spring Boot API)を1つのフォルダにまとめて管理する。 ここで先に 全体の骨格 を作っておくと、以降の章で迷わずに進められる。

book-app/
├── book-frontend/ ← フロントエンド(HTML / CSS / JS)
└── bookmanager/ ← バックエンド(Spring Boot API)
  1. Git Bash を開く
  2. 第0章で作った作業ディレクトリへ移動する(例:~/workspace/
  3. 次のコマンドを実行して book-app/book-frontend/ を作成する
Terminal window
mkdir -p book-app/book-frontend
  1. 作成されたことを確認する
Terminal window
ls book-app/
book-frontend/

この時点では bookmanager/ はまだない。次のセクションで Spring Initializr から生成した zip を展開して追加する。


7. Spring Initializr で API プロジェクトを作る

Section titled “7. Spring Initializr で API プロジェクトを作る”

フルスタック実践のバックエンドは、手で src/main/java を組み立てるより、Spring Initializr (https://start.spring.io/) で Gradle プロジェクトを生成する ほうが迷いにくい。 ここでは 10-4 以降で使う 土台だけ を先に作っておく。

項目
ProjectGradle - Groovy
LanguageJava
Spring Bootデフォルトの安定版
Groupcom.example
Artifactbookmanager
Package namecom.example.bookmanager(自動補完されるので確認だけでよい)
PackagingJar
Java21
DependenciesSpring Web / Validation / Spring Data JPA / H2 Database

Artifact に bookmanager を指定すると、Package name は com.example.bookmanager と正しく自動補完される。 Name の BookManager は生成されるメインクラス名(BookManagerApplication.java)に使われる。

Spring Initializr で Project に Gradle - Groovy、Language に Java、Group に com.example、Artifact に bookmanager、Name に BookManager、Package name に com.example.bookmanager、Dependencies に Spring Web、Validation、Spring Data JPA、H2 Database を選択した画面。

  1. ブラウザで https://start.spring.io/ を開く
  2. 上の表のとおりに項目を設定する
  3. GENERATE を押して zip をダウンロードする
  4. zip を展開する
  5. 展開してできた bookmanager/ フォルダを book-app/ の中へ配置する(エクスプローラーでフォルダごとドラッグするか、コピー&ペーストでよい)
  6. 配置後の構成を確認する
Terminal window
ls book-app/
book-frontend/ bookmanager/

展開直後の bookmanager/ は、次のような Gradle プロジェクトになっていればよい。

book-app/
├── book-frontend/
└── bookmanager/
├── build.gradle
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src/
├── main/
│ ├── java/
│ │ └── com/example/bookmanager/
│ │ └── BookManagerApplication.java
│ └── resources/
└── test/
└── java/
└── com/example/bookmanager/
└── BookManagerApplicationTests.java

gradlew / gradlew.batGradle Wrapper で、ローカルに Gradle がなくても同じコマンドで実行できる。 BookManagerApplication.java やテスト用クラスは Spring Initializr が最初から自動生成するので、見えていて問題ない。 10-4 ではこのプロジェクトの src/main/java/com/example/bookmanager/ 配下へ Controller / Service / DTO を追加していく。


確認項目コマンド / 方法期待する結果
JDK インストール確認java --versionopenjdk 21.x.x と表示される
コンパイラ確認javac --versionjavac 21.x.x と表示される
VS Code 拡張機能拡張機能一覧で確認Extension Pack for Java が表示される
Hello World 実行javac Hello.java && java HelloHello, Java! と表示される
ディレクトリ構成作成mkdir -p book-app/book-frontendbook-app/book-frontend/ が作成される
API プロジェクト生成https://start.spring.io/book-app/ に配置book-app/bookmanager/ の Gradle プロジェクトが用意できる

10-1. 要件を読み、UIの土台を作る へ進み、まずはアプリ全体の画面構成を整理しよう。