Skip to content

Compilation failed: org.gradle.internal.exceptions.LocationAwareException で急にビルドできなくなったときのメモ #9

@keyskey

Description

@keyskey

起こったこと

Valiktorを依存に追加して色々実装してからビルドし直したら以下のエラーが出てビルドできなくなった。
Compilation failed: org.gradle.internal.exceptions.LocationAwareException
(IDEA再起動したせいでエラー消えちゃったけどclass not found系のエラーもでてた)

やったこと

そもそも今までbuild.gradleに書いているKotlinのバージョン(1.5.31)とsdkmanで入れてプロジェクト内で使っているKotlinのバージョン(1.5.21)が違っていたし、JVMのバージョンも16にしていたけどビルドターゲットは11だった、挙句gradleもgradle-wrapper-propertiesのdistributionUrlで指定されているのは7.2なのにプロジェクト配下に配置されていたのは7.1.1と無茶苦茶な状態になったいたので、その辺の差異をまずなくそうとした。
sdkmanでKotlin 1.5.31, gradle 7.2, Java 11を入れて sdk env init で生成した.sdkmanrc ファイルにそれぞれバージョンを書き、更にsdk config でsdkman_auto_env をtrueにし、プロジェクトを切り替えるとsdkmanrcで指定したバージョンに自動的に切り替わるようにした。
これでIDEA再起動してみても特にエラーに変化なし。

やはりValiktorを入れたことが何かしら悪さしていそうなので、build.gradleからValiktor関係の記述を全て消し、実装箇所も全部コメントアウトして再ビルドした。するとエラーが消えてビルドできるようになった。やはり原因はValiktorらしい。
何がマズイのかピンと来なかったのでひとまずValiktorのGitHubリポジトリに入っているSpringBoot (Spring Webflux)での実装例 を見た。すると依存関係には valiktor-core は入っておらず、 valiktor-spring:valiktor-spring-boot-starter だけが含まれていた(ref)。どうもこれが怪しそうだったのでvaliktor-core をbuild.gradle から消して見たらビルドが通った。これにて一見落着。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions