首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gradle构建脚本中的" wrapper“条目会取代Gradle wrapper (gradlew)吗?

Gradle构建脚本中的" wrapper“条目会取代Gradle wrapper (gradlew)吗?
EN

Stack Overflow用户
提问于 2018-11-09 00:37:16
回答 1查看 136关注 0票数 0

在包装器任务中使用gradle版本是否消除了使用gradlew的需要?

代码语言:javascript
运行
复制
wrapper {
    gradleVersion = '4.10.2'
}

task foo {
    println "...bar"
}

包装器似乎是作为“配置项目”阶段的一部分自动执行的,如果是这样的话,似乎是一种“更干净”的方式来管理它(即,处理更少的文件,嵌入到实际的gradle构建脚本中,等等)。

刚接触Gradle,只是想弄清楚...

添加...

我添加了"foo“任务来澄清我的困惑。

1-我正在使用"gradle foo“执行脚本

2--在这个过程中,我注意到"wrapper“任务被自动调用

我的困惑是,包含包装器条目似乎会强制使用正确版本的Gradle (即,为什么包装器任务会被自动调用)。经过检查,将版本包含在包装器任务中似乎是将版本放入Gradle的属性文件的另一种方式(在生成包装器时在命令行上提供它)。

实战学习,感谢您回答这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-11-09 05:25:35

我正在使用"gradle foo“2执行脚本-在这个过程中,我注意到"wrapper”任务被自动调用

不,不是的。如果是,则以下脚本将打印"hello":

代码语言:javascript
运行
复制
wrapper {
    gradleVersion = '4.10.2'
    doLast {
        println 'hello'
    }
}

task foo {
    println "...bar"
}

您在那里看到的是包装器任务的配置,如果执行gradle wrapper,就会调用该任务,并将在项目中安装(或升级) gradle版本4.10.2的包装器。

不再需要此任务配置。正如the documentation中所指出的,您可以调用包装器任务,并使用gradle wrapper --gradle-version 4.10.2在命令行上直接指定版本。

请注意,在您的脚本中,当任务foo是配置的时,将执行println "...bar"行,而不是当它的执行时。无论执行什么操作,您都会在控制台中看到打印的bar...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53212215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档