You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Gradle 6后出现getPublishableFiles方法不存在错误

Gradle升级6.x后JFrog Artifactory插件报错NoSuchMethodError的解决办法

问题背景

  • 使用maven-publish和JFrog Artifactory插件的Gradle项目
  • 从Gradle 5.6.4升级至6.9.4(升级到6.0即可触发问题)

问题现象

执行构建命令:

./gradlew clean build

在任务启动前就失败,报错核心信息:

Caused by: java.lang.NoSuchMethodError: org.gradle.api.publish.maven.internal.publication.MavenPublicationInternal.getPublishableFiles()Lorg/gradle/api/file/FileCollection;

问题原因

Gradle 6.x重构了Maven发布模块的内部API,移除了MavenPublicationInternal.getPublishableFiles()方法。你当前使用的build-info-extractor-gradle:4.8.1版本过于老旧,未适配该API变更,导致反射调用失败。

解决方案

升级JFrog Artifactory Gradle插件版本至兼容Gradle 6.x的版本,官方从4.16.0版本开始全面支持Gradle 6.x,建议使用最新稳定版。

修正后的代码示例

apply plugin: "maven-publish"
apply plugin: "com.jfrog.artifactory"

buildscript {
  dependencies {
    // 替换为兼容Gradle 6.x的插件版本,示例为4.32.0(可按需选择更高稳定版)
    classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.32.0"
  }
}

publishing {
  publications {
    mavenJava(MavenPublication) {
      from components.java
    }
  }
}

artifactory {
    publish {
      defaults {
        publications('mavenJava')
      }
    }
}

额外提示

后续若升级Gradle到7.x及以上版本,需同步升级插件版本,确保插件与Gradle版本的兼容性。

内容的提问来源于stack exchange,提问作者Kenny Linsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:00:12