Nuxt 3+Spring BootでREST API #4 マルチプロジェクト構成にする
目次
- Gradleのインストール
- プロジェクト構成
- ルートプロジェクトの作成
- ルートプロジェクトの作成
- Gradle Wrapperの導入 & ビルド
Gradleのインストール
Gradleコマンドを使えるようにする。Gradle Releasesにアクセス。
Downloadからcompleteを選択してダウンロード。
zipファイルを解凍して任意のパスに配置する。
以下の環境変数を登録する。
- GRADLE_HOME
- 値: gradleのパス
- PATH
- 値: %GRADLE_HOME%\bin
gradle -v
でパスが通っているか確認する。
プロジェクト構成
現状APIのプロジェクトを作成しただけなので、ルートディレクトリを切って、API、フロント、マイグレーションなどの単位で分割されたマルチプロジェクト構成にしていく。
構成は以下のようなイメージ。
.(root) ├─ api (APIサーバのプロジェクト) ├─ common (共通ライブラリ) ├─ iac (IaCのプロジェクト) ├─ migrate (マイグレーション用のプロジェクト) ├─ repository (DAOなどDBアクセス用のプロジェクト) ├─ ui (フロントのプロジェクト) ├─ build.gradle └─ setting.gradle
ルートプロジェクトの作成
gradle init
を実行。
ルートパスに作成されたsettings.gradleを編集する。
/* * This file was generated by the Gradle 'init' task. * * The settings file is used to specify which projects to include in your build. * * Detailed information about configuring a multi-project build in Gradle can be found * in the user manual at https://docs.gradle.org/6.9.3/userguide/multi_project_builds.html */ rootProject.name = 'rest-api-sample' include 'api', 'common', 'repository'
これでapi
, common
, repository
がサブプロジェクトとして認識されるようになる。
Gradle Wrapperの導入 & ビルド
Gradleの実行環境がなくても (gradleコマンドなしで) ビルドできるようにするために、Gradle Wrapper を導入する。
gradle wrapper
を実行。
ここでビルドが通らず FAILURE: Build failed with an exception.
と怒られ、以下のエラーが出た。
* What went wrong: Could not compile settings file 'C:\work\repos\*******\rest-api-sample\settings.gradle'. > startup failed: General error during semantic analysis: Unsupported class file major version 61
ひとまずgradle wrapper周りのライブラリは追加されたので、ビルドできない原因を突き止める。
エラー内容でググったところ、Gradle 6系だとJava16以降のバージョンをサポートしていないようなので、gradle-wrapper.properties
を以下のように修正した。
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
再度build実行したところ、無事成功。
参考
Windows10にGradleをインストール - Qiita
GradleでJavaのマルチプロジェクト作成 - Qiita