Gradle

KotlinでMyBatisを試してたら相性問題が多発したため1つずつ解決してみた

KotlinでSpringBootの学習中、MyBatisを入れてmbGenerateコマンドのところで詰まりました。
一応解決したので保存も込めて共有します。

発覚したタイミング

GradleにMyBatisにインストールして、「mbGenerator」コマンドを実行した際にエラー発生
エラー内容は以下です。

22:27:58: タスク  'mbGenerator' を実行中...

> Task :mbGenerator FAILED
1 actionable task: 1 executed

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':mbGenerator' (type 'MybatisGeneratorTask').
  - Type 'com.arenagod.gradle.MybatisGeneratorTask' property 'configFile' is missing an input or output annotation.
以下省略

Google翻訳的には、「’configFile’に入力または出力の注釈がありません。」と言ったものでよく分かりませんでした。

build.gradle.ktsファイル内にあるSpringBoot・MyBatis・JVMのバージョンを落としても変わらず状態で困り果てていました。

解決策

下記プロパティファイルのgradleのバージョンを落とすことで解決しました。

gradle/wrapper/gradle-wrapper.properties

gradle/wrapper/gradle-wrapper.properties
「distributionUrl」項目に記載されているgradleバージョンを7から6.8に変更しました。
変更前↓
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip



変更後↓

distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip

変更後ビルドを行い、mdGenerateコマンドからdatabaseパッケージが作られていました。

同じような現象で困っている人が少しでも助けられればと思います。

以下のサイト様も非常に参考になりまいたので共有いたします。

https://zenn.dev/tm35/articles/7e63c95f57ade6

最後に

バージョンの相性で詰まると学習意欲が削ぎ落とされますね。

著者様や参考にした書籍は何も悪く無いので、動かない場合はサンプルプログラムから比較してみるのも手だと改めて思いました。
導入することが目的では無いので設定などを参考にするのは個人的には効率の良い方法だと考えています。