如何创建gradle构建脚本配置

如何创建gradle构建脚本配置,gradle,Gradle,如何创建gradle构建脚本配置 以下是我的看法: “>在org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler上找不到参数[com.example:artifact:1.0.0]的方法gradleCommon()_Decorated@5aaf4b6e.“: 您将需要使用所记录的API来创建buildscript配置。您看到的行为是尝试调用不存在的方法和正在调用的Groovy缺少的方法行为的组合 根据

如何创建gradle构建脚本配置

以下是我的看法: “>在org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler上找不到参数[com.example:artifact:1.0.0]的方法gradleCommon()_Decorated@5aaf4b6e.“:


您将需要使用所记录的API来创建buildscript配置。您看到的行为是尝试调用不存在的方法和正在调用的Groovy缺少的方法行为的组合

根据我在Gradle论坛上的回复:

buildscript块与ScriptHandler接口关联。如果您查看javadoc,您将看到“存储库”和“依赖项”是唯一受支持的闭包。有一个getConfigurations(),但没有配置(Closure configureClosure),这就是为什么configurations.create(…)可以工作,而configurations{}肯定不能工作的原因

马克·维埃拉在格拉德尔论坛上的回应:

这里实际发生的是,当您在buildscript{}块内调用配置(Closure configureClosure)时,它实际上是在调用项目对象上的方法,因为Groovy将继续搜索闭包范围,直到找到匹配项为止


您将需要使用所记录的API来创建buildscript配置。您看到的行为是尝试调用不存在的方法和正在调用的Groovy缺少的方法行为的组合

根据我在Gradle论坛上的回复:

buildscript块与ScriptHandler接口关联。如果您查看javadoc,您将看到“存储库”和“依赖项”是唯一受支持的闭包。有一个getConfigurations(),但没有配置(Closure configureClosure),这就是为什么configurations.create(…)可以工作,而configurations{}肯定不能工作的原因

马克·维埃拉在格拉德尔论坛上的回应:

这里实际发生的是,当您在buildscript{}块内调用配置(Closure configureClosure)时,它实际上是在调用项目对象上的方法,因为Groovy将继续搜索闭包范围,直到找到匹配项为止


您将需要使用所记录的API来创建buildscript配置。您看到的行为是尝试调用不存在的方法和正在调用的Groovy缺少的方法行为的组合

根据我在Gradle论坛上的回复:

buildscript块与ScriptHandler接口关联。如果您查看javadoc,您将看到“存储库”和“依赖项”是唯一受支持的闭包。有一个getConfigurations(),但没有配置(Closure configureClosure),这就是为什么configurations.create(…)可以工作,而configurations{}肯定不能工作的原因

马克·维埃拉在格拉德尔论坛上的回应:

这里实际发生的是,当您在buildscript{}块内调用配置(Closure configureClosure)时,它实际上是在调用项目对象上的方法,因为Groovy将继续搜索闭包范围,直到找到匹配项为止


您将需要使用所记录的API来创建buildscript配置。您看到的行为是尝试调用不存在的方法和正在调用的Groovy缺少的方法行为的组合

根据我在Gradle论坛上的回复:

buildscript块与ScriptHandler接口关联。如果您查看javadoc,您将看到“存储库”和“依赖项”是唯一受支持的闭包。有一个getConfigurations(),但没有配置(Closure configureClosure),这就是为什么configurations.create(…)可以工作,而configurations{}肯定不能工作的原因

马克·维埃拉在格拉德尔论坛上的回应:

这里实际发生的是,当您在buildscript{}块内调用配置(Closure configureClosure)时,它实际上是在调用项目对象上的方法,因为Groovy将继续搜索闭包范围,直到找到匹配项为止



请尝试其他名称,因为它可能与环境中隐含的名称冲突。我不清楚为什么需要在
buildscript
闭包中创建
configuraton
。这通常是不必要的。无论如何,
buildscript
只配置Gradle,因此它看起来是多余的,除非您计划在其他地方使用
配置
。@BenManes我编辑了我的答案,我尝试了gradleCommon和gradleDep1337,但两者都不起作用。我怀疑这是因为命名冲突。@Jolta我试图使用Matt的答案,但有额外的buildscript依赖项。这是一个错误,请将其发布在。如果您添加了
println配置
,您将看到您的配置没有被添加。但是使用
configurations.create('gradleCommon')
会起作用。请尝试其他名称,因为它可能与环境中隐含的冲突。我不清楚为什么需要在
buildscript
闭包中创建
configuraton
。这通常是不必要的。无论如何,
buildscript
只配置Gradle,因此它看起来是多余的,除非您计划在其他地方使用
配置
。@BenManes我编辑了我的答案,我尝试了gradleCommon和gradleDep1337,但两者都不起作用。我怀疑这是因为命名冲突。@Jolta我试图使用Matt的答案,但有额外的buildscript依赖项。这是一个错误,请将其发布在。如果您添加
println配置
,您将看到您的配置没有被添加。但是使用
configurations.create('gradleCommon')
会起作用。请尝试其他名称,因为它可能与环境中隐含的名称冲突。我不清楚为什么需要创建
c
buildscript {
    configurations {
        gradleCommon
    }

    repositories {
        mavenCentral()
    }

    dependencies {
        gradleCommon 'com.example:artefact:1.0.0'
        classpath 'com.bmuschko:gradle-tomcat-plugin:2.0'
        classpath 'mysql:mysql-connector-java:5.1.27'
    }
}