クリエイター:メタボ兔

ウェブやアプリの開発者で利用する色な技術やサーバーや開発環境の設定について共有する場

Gradle7.0からMaven Pluginが無くなった話。

概要

Javaの開発でGradleを利用してBuildを行ったが今までは正常に終わったのがエアーで作業が進まなかった話です。

使用環境

  • macOS Catalina(10.15.7)
  • java:openjdk version "1.8.0_292"
  • gradle:7.0

javaとgradleはhomebrewを利用してインストールしました。

エラー内容

...
* What went wrong:
Plugin [id: 'maven'] was not found in any of the following sources:
- Gradle Core Plugins (not a core plugin, please see https://docs.gradle.org/7.0/userguide/standard_plugins.html for available core plugins)
- Plugin Repositories (plugin dependency must include a version number for this source)
...

build.gradle内容

plugins {
    id 'java'
    id 'maven'
    id 'checkstyle'
}
...

原因

gradleの6.8.1まではCore Pluginへ「Legacy Maven Plugin」が存在していましたが、7.0からこのPluginが無くなったのが原因でした。

6.8.1

f:id:FattyRabbit:20210509235709p:plain

参考:https://docs.gradle.org/6.8.1/userguide/plugin_reference.html#packaging_and_distribution

7.0

f:id:FattyRabbit:20210509235852p:plain

参考:

https://docs.gradle.org/7.0/userguide/plugin_reference.html#packaging_and_distribution

対応

プロジェクトで勝手にbuild.gradleを修正出来ない状況なので、gradleのバージョンを下げる必要がありました。homebrewではダウングレードする方法が見当たらなくて以下のURLから参考してSDKMANを利用しました。

gradle.org

sdkman.io

SDKMANのインストール

インストールします。

$ curl -s "https://get.sdkman.io" | bash

以下を実行すると~/.bash_profileに以下の内容が追加されます。

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/*****/.sdkman"
[[ -s "/Users/*****/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/******/.sdkman/bin/sdkman-init.sh"

環境設定を行います。

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

gradleをインストール

$ sdk install gradle 6.8.1