業務で初めてjavaを触る機会があり、buildでハマったので備忘録として残します。
環境
- Java:17.0.13
- gradle:8.10.2
- sdkmanでインストール
- Spring boot:3.3.5
エラー
gradle
をこの手順でインストールした後にgradle build
を実行したら下記エラーが出ました。
FAILURE: Build failed with an exception.
* What went wrong:
Gradle could not start your build.
> Could not create service of type BuildLifecycleController using ServicesProvider.createBuildLifecycleController().
... 以下略 ...
結論
プロジェクトフォルダ配下の.gradle
build
フォルダを削除してから再度gradle build
を実行
エラー後にやったこと
バージョンの確認
$ gradle -v
------------------------------------------------------------
Gradle 8.10.2
------------------------------------------------------------
.gradle
を削除
一度uninstallを試すため、プロジェクトフォルダに存在している.gradle
フォルダを確認したところ、
8.7
というフォルダが作成されていました。
which
コマンドで確認してみると、本体は別のところにいたようです。
$ which gradle
/home/shin-gee/.sdkman/candidates/gradle/current/bin/gradle
プロジェクトフォルダにある.gradle
を削除した後に、gradle build
をすると変化がありました。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
... 中略 ...
Failed to delete some children. This might happen because a process has files open or has its working directory set in the target directory.
... 以下略 ...
エラーが変わりましたが、
8.7
となっていたディレクトリが8.10.2
に変わった状態で、.gradle
が作成されていました。
※一つ前進
build
を削除
調べていると、build
ファルダを削除すると上手くいったという記事を見つけたので試したところ、解消しました。
.gradle
と同じディレクトリにあるので、root権限で削除してから再度buildしました。
$ gradle build
... 中略 ...
BUILD SUCCESSFUL in 24s