Gradle初始化报错Could not find method artifactory() 解决方案咨询
Gradle构建artifactory()方法找不到报错解决方案
环境版本信息
- Java:1.8.0_333
- Gradle:Gradle 7.4.2
问题现象
执行Gradle构建时持续抛出如下错误:
* What went wrong: Could not find method artifactory() for arguments [init_dma9eorkjulwy6d24gkunp9js$_run_closure1$_closure7@77cf9353] on project ':buildSrc' of type org.gradle.api.Project. * Exception is: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method artifactory() for arguments [init_dma9eorkjulwy6d24gkunp9js$_run_closure1$_closure7@77cf9353] on project ':buildSrc' of type org.gradle.api.Project. at org.gradle.internal.metaobject.AbstractDynamicObject.methodMissingException(AbstractDynamicObject.java:182) at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:86) at init_dma9eorkjulwy6d24gkunp9js$_run_closure1.doCall
已尝试排查操作
- 先后更换JDK12、JDK13、JDK14多个Java版本重新执行构建,仍出现完全相同的报错。
根因说明
该报错与Java版本无关联,无需反复切换JDK版本。错误触发原因是构建脚本中调用了artifactory()配置方法,但对应作用域的项目没有提前引入JFrog Artifactory插件,Gradle无法识别该方法。从错误栈中init_开头的脚本名判断,大概率是全局Gradle初始化脚本配置不当导致,少数情况是项目内buildSrc模块未单独声明插件依赖。
修复步骤
排查全局Gradle初始化脚本
进入本机Gradle用户配置目录,默认路径为~/.gradle/(Windows系统对应C:\Users\当前用户名\.gradle\),检查根目录下的init.gradle文件、以及init.d/目录下所有后缀为.gradle的脚本,定位到其中调用artifactory()的代码段。
这类脚本通常用于全局配置私有制品仓库,若脚本未提前声明插件依赖就直接调用配置方法,就会触发当前报错。修复方式为在脚本开头补充插件依赖声明:initscript { repositories { mavenCentral() } dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.28.4" } } allprojects { apply plugin: com.jfrog.artifactory.ArtifactoryPlugin // 保留原有artifactory()配置块 }如果不需要全局Artifactory仓库配置,直接注释或删除脚本中对应的artifactory配置段即可。
排查项目buildSrc模块配置
若确认全局脚本无异常,打开项目内buildSrc/目录下的build.gradle文件。buildSrc是Gradle约定的独立构建模块,不会自动继承根项目的插件依赖,需要单独在自身构建脚本中引入所需插件,补充以下配置即可:plugins { id 'java-gradle-plugin' id 'com.jfrog.artifactory' version '4.28.4' // 匹配实际使用的插件版本 } // 保留buildSrc原有其他配置验证修复结果
执行构建命令重新触发构建:- Linux/macOS系统执行:
./gradlew clean build --no-daemon - Windows系统执行:
gradlew.bat clean build --no-daemon
- Linux/macOS系统执行:
内容的提问来源于stack exchange,提问作者yoppie97
相关产品推荐
相关产品推荐

