使用Gradle Artifactory Plugin发布构件时遇Failed to notify build listener错误
解决Gradle Artifactory Plugin发布时的BootstrapMethodError问题
从你的错误栈和配置来看,这个问题核心是Gradle版本与Artifactory Plugin版本不兼容导致的,同时你的配置写法也有可优化的空间,下面是具体的解决步骤:
1. 优先解决版本兼容性问题
BootstrapMethodError搭配NoClassDefFoundError的组合,通常是插件和Gradle版本不匹配,导致内部依赖类无法正常加载。你需要确保使用的Artifactory Plugin版本和Gradle版本完全兼容:
- Gradle 6.x对应Artifactory Plugin 4.20.0及以上版本;
- Gradle 7.x对应Plugin 4.27.0+;
- Gradle 8.x需要Plugin 4.30.0+。
在build.gradle中明确指定插件版本,避免使用默认旧版本:
plugins { id 'maven-publish' // 必须先引入maven-publish插件 id "com.jfrog.artifactory" version "4.34.0" // 替换为适配你Gradle的版本 }
2. 修正publications配置的写法
你当前的publications ('maven')写法虽然语法上能运行,但更规范的写法是去掉多余括号,或者用方括号包裹(如果需要指定多个发布构件):
defaults { publications 'maven' // 若有多个发布构件,写成:publications(['maven', 'otherPublication']) }
3. 检查Java版本配置
Artifactory Plugin 4.x系列要求Java 8及以上,在build.gradle中明确指定版本避免兼容性问题:
java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 }
4. 清理缓存后重新执行
最后清理旧构建缓存,避免缓存遗留问题,执行命令:
gradlew clean build artifactoryPublish -i
内容的提问来源于stack exchange,提问作者Mycotina
相关产品推荐
相关产品推荐

