0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2026年版】Spring bootのバージョンのアップグレードを行う

0
Posted at

はじめに

皆様、こんにちは。
AKと申します。

現在、エンジニアとしてのキャリアを築くために日々勉強をしております。
その一環として、Webアプリケーションの個人開発を行っており、AWSを使ってデプロイ・公開に向けて活動しております。

Webアプリケーションのバックエンドは、Spring boot × Java 21で開発しております。
本記事では、バックエンドで使用しているSpring bootのアップグレードを行ったことについて、備忘録も兼ねて共有していきます。

注意
本記事を書いているAKは、エンジニアではありません。
説明が間違っていたり、ベストプラクティスに沿っていない場合がございます。
また、アップグレード対応についても誤っている可能性があります。よろしければですがご指摘いただけますと幸いでございます。

今後の励みになります。

本記事の概要

目的

Spring bootのバージョンをアップグレードした内容を備忘録を兼ねて共有すること

対象

  • Spring bootを開発で使用している方
  • Spring bootのアップグレード方法を調査・検索している方

動作環境

参考として、私の動作環境を記載しておきます。

  • OS:Ubuntu24.04
  • Java:21
  • gradle:8.11.1

背景

現在、Spring bootを使ってWebアプリケーションを開発しております。
開発中に下記のような脆弱性が発見されました。
自分が使っているSpring bootのバージョンがすでにサポート対象外になっており、脆弱性の影響も受けるためこれを期にSpring bootをバージョンアップしようと思いました。

※上記2つの脆弱性は2026年3月に公開されており、すでに1ヶ月以上が経過しています。すぐに記事にしようと思いましたが、諸事情により公開が遅れてしまいました。

やり方

  1. Spring公式が出しているCVEレポートを見る
  2. Spring bootの修正版のバージョンを確認
  3. 修正前と修正後のバージョン間の互換性を確認(公式のMigration guideなど)
  4. ファイル修正
  5. 再ビルド

まず最初に、CVEレポートの内容を確認します。その後、脆弱性の修正バージョンを確認します。基本的には、修正版以降のバージョンで対応します。
私の場合は、以前使っていたSpring bootのバージョンが3.4.0でしたが、今回で3.5.12にアップグレードします。

3.4から3.5のバージョンアップによる、大きな影響はなさそうでしたので今回は互換性などの確認はせず、そのままファイルの編集に入ります。ただ、メジャーバージョンが違ってくるとそうも行かないようです。ネットで調べてみたところ、2.x.xから3.x.xなどのようなバージョンアップでは色々と大変な作業になりそうですね。

上記のように、2系から3系へのアップグレードではかなりの破壊的な変更がありそうでした。依存関係にあるパッケージなども色々変わっていそうです。
現在はSpring boot4が出ているので、3からバージョンアップするときになったら注意したいと思います。

話を戻しまして、Spring bootのバージョンアップ自体はシンプルです。
build.gradleファイルを編集します。


plugins {
    id 'java'
-   id 'org.springframework.boot' version '3.4.0'
-   id 'io.spring.dependency-management' version '1.1.6'
+   id 'org.springframework.boot' version '3.5.12'
+   id 'io.spring.dependency-management' version '1.1.7'
    id "org.springdoc.openapi-gradle-plugin" version "1.9.0"
    id 'checkstyle'
}

// 以下省略

ファイルを修正し終えたら、プロジェクトを再ビルドして動くことを確認します。ターミナルで下記のコマンドを実行します。

./gradlew clean build

./gradlew bootRun

正常に実行できていれば、実行時に表示されるバージョンが今回の3.5.12に変わっていると思います。
spring boot start

おわりに

今回はSpring bootのバージョンアップを行ってみました。
恥ずかしながら、今回のSpring bootの脆弱性について自分でキャッチアップすることなく知り合いのエンジニアから教えてもらいました。今後は、脆弱性報告やレポートなどは自分からキャッチアップしていかなければなりませんね。反省し、行動につなげたいなと思います。

また、今後3から4にアップグレードする場合も備忘録として記事にしたいと思います。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?