Gradle 7.1提示Plugin with id 'maven' not found,6.3版本正常如何解决?
问题原因
Gradle 从6.x版本开始就将旧版maven插件标记为废弃状态,到7.0及以上版本正式从内置插件列表中移除,因此你在Gradle 7.1环境下会报找不到插件的错误,6.3版本还处于废弃兼容阶段所以可以正常运行。
解决方案
用官方推荐的替代插件maven-publish替换原有的maven插件即可,修改步骤如下:
- 将构建脚本中的
apply plugin: 'maven'配置替换为apply plugin: 'maven-publish',修改后对应配置块如下:
subprojects { apply plugin: 'java' apply plugin: 'java-library' apply plugin: 'maven-publish' }
- 同步调整对应的maven相关配置:
- 原有的
install任务(安装依赖到本地maven仓库)可以直接用maven-publish自带的publishToMavenLocal任务替代,功能完全一致。 - 如果之前配置了远程maven仓库发布逻辑,需要将原来的
uploadArchives+mavenDeployer配置替换为publishing闭包写法,示例如下:
publishing { publications { mavenJava(MavenPublication) { // 配置要发布的组件,java组件包含编译后的class、资源等内容 from components.java // 可选配置:如果需要发布源码包可以加上这一段 artifact sourceJar } } repositories { maven { // 替换为你的私有maven仓库地址 url = "http://your-maven-repo.com/repository/maven-releases/" credentials { username = "你的仓库账号" password = "你的仓库密码" } } } }
修改完成后重新同步Gradle配置即可正常运行。
内容的提问来源于stack exchange,提问作者Paul Verest on LinkedIn
相关产品推荐
相关产品推荐

