Plugin with id ‘maven’ not found

一、問題發(fā)生背景

android studio是Arctic Fox版本,gradle 插件版本是7.2,JDK11。創(chuàng)建groovy model 實現(xiàn) javassist 時,groovy model的 build.gradle 如下:

apply plugin: 'groovy'
apply plugin: 'maven'


repositories {
    mavenCentral()
}

uploadArchives{
//    打包成一個jar    引用jar  生成這個三個信息
    repositories.mavenDeployer {
        pom.groupId = 'com.javassist'
        pom.artifactId = 'modify'
        pom.version = '1.0.0'
        repository(url: uri('../repo'))
    }
}

dependencies {
    //gradle sdk
    compile gradleApi()
    //groovy sdk
    compile localGroovy()
    compile 'org.javassist:javassist:3.20.0-GA'
}

結(jié)果報錯:

Caused by: org.gradle.api.plugins.UnknownPluginException: Plugin with id 'maven' not found.

二、分析解決

Gradle 7版本將maven插件移除了,用maven publish插件替代。

解決如下

plugins {
    id 'groovy'
    id 'maven-publish' 
}

publishing {
    publications {
        publish2Local(MavenPublication) {
            groupId = 'com.javassist'
            artifactId = 'modify'
            version = '1.0.0'
            from components.java
        }
    }

    repositories {
        maven {
            url = "$buildDir/repo"
        }
    }
}

dependencies {
    //gradle sdk
    implementation gradleApi()
    //groovy sdk
    implementation localGroovy()
    implementation 'org.javassist:javassist:3.20.0-GA'
}

如果報 ‘Gradle Libs’ was added by unknown code

Build was configured to prefer settings repositories over project repositories 
but repository ‘Gradle Libs’ was added by unknown code

解決方法
問題的原因就是Gradle希望開發(fā)者將所有倉庫配置都在這里設置,而不是根據(jù)每個項目自己去導入
settings.gradle中,修改或去除repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

dependencyResolutionManagement {
//    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
    repositories {
        google()
        mavenCentral()
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容