質問するログイン新規登録

Q&A

3回答

243閲覧

Jenkinsで、Springbootを使用したJavaアプリのビルド・UTを実施したい

inashichi

総合スコア39

Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

0グッド

0クリップ

投稿2026/03/17 07:37

0

0

実現したいこと

Jenkinsで、Springbootを使用したJavaアプリのビルド・UTを実施したいです。

発生している問題・分からないこと

【前提】
直接の開発者ではないため不明瞭な部分や知識不足があるかと思いますが、ご容赦ください。

【状況】
元々は開発で使用しているIDEのEclipseから手動でモジュールをビルドしたりUTを実行したりしているようです。
今回、ビルドやUTを自動化しようと考え、Jenkinsと連携しようとしています。
開発環境はWindows 11です。
まずは"gradlew.bat clean build"でビルドしてみたのですが、Gradleが古すぎてSpringbootと合わないエラーが発生しました。

【確認したいこと】
・確認①
Eclipseからはビルドできていたのにgradle.batからだとエラーになるのはなぜでしょうか。
Gradleラッパーを使う場合はSpringbootとのバージョンの整合性が確認されるのでしょうか。
・確認②
本来はGradleを最新化するのが正しいと思いますが、今までビルドしていた条件をなるべく再現したい場合、Gradleのバージョンを変更することなくビルドを自動化することはできるのでしょうか。
・確認③
そもそも、Jenkinsでgradlew.batを実行してUTやビルドを行うのは一般的でしょうか。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

Graldeについて検索し、ヒットしたページを確認しました。
GradleはシステムにインストールされたGradleで、とGradle Wrapperはアプリ毎に用意されたGradleであり、両者は別物であることは理解できました。
そこから、今まではEclipseにデフォルトで用意されたGradleを使ってビルドしていたためSpringbootとのバージョン整合性はチェックされなかったと推測していますが、その理由までは分かっておりません。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

KT001

2026/03/18 03:49

多分ですが、Spring Bootは運用で更新していたが、gradle-wrapperを更新し忘れたのかもしれません。現在のSpring Bootのバージョンと、gradle-wrapperのバージョンはいくつでしょうか。 一応、公式ドキュメントにシステム要件があるので、対象バージョンが分かれば必要なGradleのバージョンが分かります。 https://docs.spring.io/spring-boot/system-requirements.html
guest

回答3

0

Gradleはバージョン毎に対象とするJavaランタイムのバージョンが異なります
対応表は以下のリンクから確認できます

Gradleのバージョン毎のアーカイブは以下になります

gradlewでGradleを起動する場合、プログラムは環境変数であるPATHに登録されたディレクトリ(フォルダ)上の実行ファイルを呼び出してビルドされます
Windowsであればjava.exeがコマンドとして採用されます

この環境変数は本来プロセス毎に個別に設定が可能です
Eclipseもまた専用のプロセスを構築して環境変数を独自に設定します
これによりEclipseの使用中はそのプロセスで定義されたPATHに存在するjava.exeが使用されます

なのでEclipseを離れればそこはそれ専用のプロセスでなくなってしまうため、gradlewが呼び出すJavaのランタイムも外のプロセスで定義されたPATHのディレクトリの物が採用されます
この呼び出されたjava.exeとGradleが採用するJavaのランタイムバージョンとの間で不整合が発生する場合、実行時エラーが検知されます
ビルドエラーが発生する場合、まずはGradleが対象とするJavaのランタイムバージョンとの整合性をご確認ください
以下のコマンドを使用することでランタイムのバージョンが表示されます

java —version

Windowsであれば、ホーム画面のスタートメニューから「環境変数の編集」を起動して、GUI上でPATHを編集します
PATHコマンドから編集しないでください
環境変数にはユーザー環境変数とシステム環境変数の二種類があり、コマンドを介して編集した場合にユーザー環境変数PATHのリンクが書き換えられ、設定が初期化される可能性があります
環境変数の設定方法は以下のリンクをご参照ください

  • Windows 11 環境変数の設定と編集に関する完全ガイド

https://search.yahoo.co.jp/amp/s/www.partitionwizard.jp/news/set-environment-variables-windows-11.html%3Famp%26usqp%3Dmq331AQGsAEggAID

PATHに適切なJavaのランタイムバージョンが保存されるディレクトリを登録し、改めてビルドをお試しください

投稿2026/03/18 00:40

編集2026/03/18 01:12
nanashi123

総合スコア176

0

GradleでSpringbootを管理する場合、以下の3点を確認してください

  • JDKのバージョンが17以上か
  • JDKのバージョンがGradleのサポートするバージョンに適合するか
  • SpringbootのバージョンがGradleのサポートするバージョンに適合するか

JDKのバージョン確認については既にある回答に譲るとして、gradlew bootRunがもし正しく動作する場合、Springbootのバージョンを確認してみましょう
build.gradle(groovy)を開き、以下の記述を探します
主にpluginブロックに存在します

plugins { // Apply the application plugin to add support for building a CLI application in Java. id 'application' id 'org.springframework.boot' version '3.3.0' id 'io.spring.dependency-management' version '1.1.4' }

version ‘3.3.0' の部分がSpringbootの現在のバージョンです
バージョン表記はGradleのバージョンやプロジェクトの設定によって変わります
ここでは3.3シリーズをサポートしている前提で続けます
デフォルトのバージョンでは、実はアプリをビルドできません
Springbootは小豆にバージョンアップが繰り返されており、バージョンは細かく変化しています
強制的にバージョンを最新まで引き上げるには末尾に+を使用します

plugins { // Apply the application plugin to add support for building a CLI application in Java. id 'application' id 'org.springframework.boot' version '3.3.+' //'3.3.0 id 'io.spring.dependency-management' version '1.1.4' }

公式的には+を使うことは非推奨のようなので正しいバージョンが分かり次第修正しましょう

投稿2026/03/23 04:28

編集2026/03/23 04:29
Manabu

総合スコア143

0

Android開発でgradle-wrapperを使っただけで、SpringBootは使ったことがありませんし、gradle自体もそれほど詳しいわけではありませんが。

Gradleが古すぎてSpringbootと合わないエラーが発生しました。

これは、本当にこの通りのエラーメッセージが出たのですか。
正確なメッセージを記載してください。(聞いた話で不明確であれば、その旨を書いてください)

基本的に上記に書かれているとおり、 gradle/wrapper/gradle-wrapper.properties にgradleのバージョン(を含むgradleのアーカイブのURL)が書かれていて、gradleのバージョンはどの環境でも統一されているはずです。
確認してみてください。

投稿2026/03/17 22:23

katsuko

総合スコア3642

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問