ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
変更方法 5 通り
| 方法 | 記述場所 | 用途 |
|---|---|---|
| 1. properties ファイル | application.properties | 標準 |
| 2. YAML ファイル | application.yml | 階層が深い場合 |
| 3. コマンドライン引数 | --server.port=8081 | 一時変更 |
| 4. 環境変数 | SERVER_PORT=8081 | Docker / クラウド |
| 5. プログラマティック | Java コード | 動的に変える場合 |
上から下の順に優先度が高くなります(後から指定された値が勝つ)。コマンドライン > 環境変数 > プロファイル > application.properties が一般的な並びです。
1. application.properties で指定
# src/main/resources/application.properties
# ポート番号
server.port=8081
# バインドアドレス(デフォルトは 0.0.0.0 = 全 IF)
server.address=127.0.0.1
# コンテキストパス(http://host:8081/api でアクセス)
server.servlet.context-path=/api
2. application.yml で指定
# src/main/resources/application.yml
server:
port: 8081
address: 127.0.0.1
servlet:
context-path: /api
tomcat:
threads:
max: 200
3. コマンドライン引数
# jar 実行
java -jar app.jar --server.port=8081
# Maven プラグイン経由
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8081
# Gradle プラグイン経由
./gradlew bootRun --args='--server.port=8081'
# JVM プロパティとして渡す方法
java -Dserver.port=8081 -jar app.jar
4. 環境変数で指定
Spring Boot はプロパティ名のドット → アンダースコア + 大文字で環境変数を自動マッピングします。server.port は SERVER_PORT に対応します。Docker / Kubernetes 運用ではこの方法が定番です。
# Linux / Mac
export SERVER_PORT=8081
java -jar app.jar
# Windows PowerShell
$env:SERVER_PORT = "8081"
java -jar app.jar# Dockerfile
FROM eclipse-temurin:21-jre
COPY app.jar /app.jar
ENV SERVER_PORT=8081
EXPOSE 8081
ENTRYPOINT ["java", "-jar", "/app.jar"]# Kubernetes Deployment
spec:
containers:
- name: app
image: myapp:latest
env:
- name: SERVER_PORT
value: "8081"
ports:
- containerPort: 8081
5. プログラマティック(動的指定)
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.Properties;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(App.class);
Properties props = new Properties();
props.put("server.port", 8081);
app.setDefaultProperties(props);
app.run(args);
}
}
ランダムポート (テスト用)
server.port=0 にするとOS が空きポートを自動割当します。並列テストやポート競合回避に便利です。
# src/test/resources/application.properties
server.port=0@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class AppIntegrationTest {
@LocalServerPort
private int port; // 実際に割り当てられたポート
@Autowired
private TestRestTemplate rest;
@Test
void hello() {
String url = "http://localhost:" + port + "/hello";
assertEquals("Hello", rest.getForObject(url, String.class));
}
}
プロファイル別の設定
環境ごとに異なるポートを使う場合はプロファイル別 properties を用意します。application-{profile}.properties という命名規則です。
# application.properties(共通)
spring.application.name=myapp
# application-dev.properties(開発)
server.port=8080
logging.level.root=DEBUG
# application-stg.properties(ステージング)
server.port=8081
# application-prod.properties(本番)
server.port=80
logging.level.root=WARN# プロファイル指定
java -jar app.jar --spring.profiles.active=prod
# または
SPRING_PROFILES_ACTIVE=prod java -jar app.jar
# または application.properties で
# spring.profiles.active=dev
HTTPS ポートと SSL
# HTTPS で起動
server.port=8443
server.ssl.enabled=true
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=changeit
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=tomcat
# 自己署名証明書を生成(開発用)
# keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 \
# -storetype PKCS12 -keystore keystore.p12 -validity 3650
HTTP と HTTPS を両方受けたい場合は WebServerFactoryCustomizer で追加コネクタを定義します。
@Bean
public WebServerFactoryCustomizer servletContainer() {
return factory -> {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8080); // HTTP も同時に listen
factory.addAdditionalTomcatConnectors(connector);
};
}
ポート競合トラブル
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that's listening on port 8080 or
configure this application to listen on another port.
| OS | 使用中ポート確認 | プロセス kill |
|---|---|---|
| Linux / Mac | lsof -i :8080 / ss -lntp | kill -9 |
| Windows | netstat -ano | findstr 8080 | taskkill /PID |
1024 未満のポート (well-known ports)
Linux では 1024 未満のポート (80 / 443) はデフォルトで root 権限が必要です。本番運用では以下のいずれか:
- リバースプロキシ (nginx / ALB) を前段に置いて、Spring Boot は 8080 で動かす(推奨)
setcap 'cap_net_bind_service=+ep' /path/to/javaで Java バイナリに権限付与- iptables で
80 → 8080リダイレクト - Docker で
-p 80:8080としてホスト側ポートをマッピング
Embedded Tomcat / Jetty / Undertow
Spring Boot はデフォルトでEmbedded Tomcatを使います。server.port はすべての embedded サーバで共通で動作します。サーバを切り替えても変更不要です。
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
org.springframework.boot
spring-boot-starter-jetty
FAQ
Q: 設定したのに反映されない
A: 優先度の高い場所で上書きされている可能性。コマンドライン引数や環境変数 SERVER_PORT を確認。--debug 起動でプロパティ評価過程が見られる。
Q: 起動時のログに「Tomcat started on port(s): 8081」と出るが繋がらない
A: server.address が 127.0.0.1 になっていてループバックしか受けつけていない可能性。0.0.0.0 に変更。または OS / クラウドのファイアウォール。
Q: 1 つの Spring Boot アプリで複数ポートを listen したい
A: 上記 WebServerFactoryCustomizer で追加コネクタを定義。アクチュエータ専用に management.server.port を分けるのも定石。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- インストール(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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?