| この記事の要点 |
|
前提となる環境
| 項目 | 内容 |
|---|---|
| JDK | Spring Boot 3.x / 4.x は Java 17 以上(21 などの LTS 版がおすすめ)。Spring Boot 2.x は Java 8 から利用可能だったが、オープンソース版のサポートはすでに終了している |
| IDE | Spring Tools(旧称 Spring Tool Suite、STS)。Eclipse ベース版のほか、VS Code 拡張としても提供されている |
| ビルドツール | Maven または Gradle。プロジェクトに Maven Wrapper(mvnw)/ Gradle Wrapper(gradlew)が同梱されるため、別途インストールしなくても動く |
| ネットワーク | プロジェクト作成時に start.spring.io へ接続し、依存ライブラリもダウンロードする |
インストール済みの JDK は java -version で確認できます。
STS でのプロジェクト作成手順
1. ウィザードを開く
メニューから「File」→「New」→「Spring Starter Project」を選びます(「New Project」→「Spring Boot」→「Spring Starter Project」からも開けます)。
この時点で次のエラーが発生した場合はこちらを参照してください。
An internal error occurred during: "Building UI model".
2. プロジェクトの基本情報を入力する

| 項目 | 意味と入力の目安 |
|---|---|
| Service URL | Spring Initializr(Spring Boot プロジェクトの雛形を生成する Web サービス)の URL。デフォルトのままでよい |
| Name | プロジェクト名(Eclipse 上の表示名) |
| Location | プロジェクトを作成するディレクトリ。通常は「Use default location」のまま |
| Type | ビルドツール。Maven か Gradle(Groovy / Kotlin DSL)を選択。迷ったら情報量の多い Maven |
| Packaging | Jar か War を選択。組み込み Tomcat で起動するなら Jar、外部の Tomcat にデプロイするなら War |
| Java Version | 使用する Java のバージョン。インストール済みの JDK 以下を選ぶ |
| Language | Java / Kotlin / Groovy |
| Group | 組織を表す ID。com.example のように逆ドメイン形式で書く |
| Artifact | 成果物(jar ファイル)の名前。通常は Name と同じ |
| Version | アプリのバージョン。初期値 0.0.1-SNAPSHOT のままでよい |
| Description | プロジェクトの説明(任意) |
| Package | メインクラスを置く Java パッケージ名。Group + Artifact が自動で入る |
3. Spring Boot のバージョンと依存関係(Dependencies)を選ぶ

Spring Boot Version は、特に理由がなければ SNAPSHOT や M(マイルストーン)が付かない最新の正式版を選びます。
Web アプリを作る場合、「Spring Web」(古い画面では「Web」)へのチェックは必須です(バッチ処理など Web を使わない特殊な用途を除く)。それ以外は任意ですが、よく使うものは次のとおりです。
- Spring Boot DevTools: コード変更時の自動再起動
- Thymeleaf: HTML テンプレートエンジン
- Spring Data JPA + 使用する DB のドライバ(MySQL Driver、PostgreSQL Driver など)
- Validation: 入力チェック(Bean Validation)
- Lombok: getter / setter などの定型コードを省略
DB 関連の依存関係を追加すると、接続先の設定をするまで起動時にエラーになります。最初は Spring Web だけで作り、動作確認後に追加するとつまずきにくくなります。依存関係は後から pom.xml(Gradle なら build.gradle)に追記することもできます。
4. 完了
次ページの Base Url、Full Url は、Spring Initializr に送るリクエストの URL です。プロジェクト作成に使われるアドレスなので、デフォルトのままでかまいません。「Finish」を押すと作成が完了し、依存ライブラリのダウンロードが始まります。
IDE を使わない作り方
Web 画面(start.spring.io)
ブラウザで https://start.spring.io/ を開き、上と同じ項目を選んで「GENERATE」を押すと zip がダウンロードされます。展開して IDE で「Import → Existing Maven Projects」(Gradle なら Existing Gradle Project)で取り込みます。
コマンドライン
curl https://start.spring.io/starter.zip \
-d type=maven-project \
-d dependencies=web \
-d groupId=com.example \
-d artifactId=demo \
-o demo.zip
生成されるファイル
demo/
├── mvnw, mvnw.cmd Maven Wrapper
├── pom.xml 依存関係とビルド設定
└── src/
├── main/java/com/example/demo/DemoApplication.java 起動クラス
├── main/resources/application.properties 設定ファイル
└── test/java/com/example/demo/DemoApplicationTests.java
起動クラスには @SpringBootApplication が付いています。このクラスと同じパッケージかその配下に作ったクラスだけがコンポーネントスキャンの対象になるため、コントローラなどはこのパッケージの下に作成します。
動作確認
- プロジェクトを右クリック →「Run As」→「Spring Boot App」を選ぶ(コマンドなら
./mvnw spring-boot:run) - コンソールに
Tomcat started on port 8080とStarted DemoApplicationが出ることを確認 - ブラウザで
http://localhost:8080/を開く。まだコントローラがないため「Whitelabel Error Page」(404)が表示されれば、起動自体は成功
よくあるつまずき
- Java のバージョン不一致: 選んだ Java Version より古い JDK で動かすと「invalid target release」などのエラーになる。STS の Installed JREs とプロジェクトの設定を揃える
- ポート 8080 が使用中: 「Port 8080 was already in use」と出たら、他のプロセスを止めるか
server.portを変更する - DB の設定がない: JPA や JDBC を追加すると「Failed to configure a DataSource」で起動失敗する。接続設定を書くか、いったん依存関係を外す
- プロキシ環境: 社内ネットワークでは start.spring.io や Maven Central に接続できず作成に失敗することがある。Eclipse のネットワーク設定と Maven の
settings.xmlにプロキシを設定する
関連
- Java 開発環境構築完全ガイド — JDK/IDE/Maven/Gradle (2026 年版)
- Maven 完全ガイド (pom.xml / ライフサイクル / プラグイン / リポジトリ)
- Apache Tomcat 入門 — Servlet コンテナのバージョン / 構成 / Spring Boot との関係
- java.lang.UnsupportedClassVersionError の原因と対処 (JDK バージョン違い)
子ページはありません
- インストール(eclipseプラグイン)
- クイックスタート
- プロジェクトの作成
- Spring Bootプロジェクトの作成
- Spring Bootプロジェクトの実行
- Spring BootでHello World!
- アノテーション一覧
- DB接続設定からエンティティおよびリポジトリの作成、値の取得まで(JPA編)
- DB接続設定や値の取得(JdbcTemplate編)
- ビューから値をモデルに格納しコントローラーで受け取る方法
- コントローラーにてモデルに値を格納してビューに渡す方法
- テンプレートエンジン
- ModelとModelAndViewの違い
- AOPの使用方法
- classpath: 内部ファイルの読み込み
- file: 外部ファイルの読み込み
- CSVファイルアップロード方法(Ajax)
- CSVファイルダウンロード方法(Ajax)
- Spring Bootプロジェクトのビルドと本番環境へのデプロイ方法(内部tomcat使用)
- Application.propertiesの環境依存設定の分割方法
- JPAにおけるEntityManagerの取得方法
- JPAにおけるjava.sql.Connectionの取得方法
- エラー一覧
- jarの引数を受け取る方法
- Spring BootでGmailからメール送信
- 複数のDBに接続する設定(Spring Boot & JPA編)
- ポート番号の変更
- Basic認証の実装と特定のURLに限定する方法
- Spring SecurityのBasic認証の無効化
- 独自のエラーページを定義する方法
- プロパティファイルの値やjar実行時の引数を取得する方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38