Gradle任务是用gradle 或gradlew 命令运行的。
Gradlew是gradle命令的一个包装器。
本教程讲述了gradlew和gradle命令之间的区别。
你能用Gradle命令做什么?
如果你的机器已经安装了gradle,那么gradle命令的作用如下:
它给出了本地机器上安装的gradle版本
C:\>gradle
> Task :help
Welcome to Gradle 6.0.1.
To run a build, run gradle ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
To see more detail about a task, run gradle help --task
For troubleshooting, visit https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.0.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
在本地机器上安装了gradle,你可以做以下事情。
- 你可以用下面的命令创建一个新的项目
它创建一个新的项目,要求用户输入项目类型和构建脚本。
B:\kiranw>gradle init
Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4]
Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2]
Project name (default: kiranw):
> Task :init
Get more help with your project: https://guides.gradle.org/creating-new-gradle-builds
BUILD SUCCESSFUL in 1m 4s
2 actionable tasks: 2 executed
- 你可以在项目中添加带有gradle命令的包装器
gradle wrapper --gradle-version 7.1.1
- 你可以运行gradle的任务列表
gradle tasks
- 你可以用下面的命令运行构建或测试项目
gradle test
gradle build
Gradle包装器
gradle wrapper 在linux中使用./gradlew命令,在windows中使用gradlew命令来运行。
gradle wrapper --gradle-version 7.1.1
这是一个安装了特定版本的gradle项目的一部分
它在一个项目中做以下事情
- 检查gradle是否存在,如果不存在就用正确的gradle版本进行内联安装
- 调用gradle任务
gradle-wrapper.properties包含gradle包装器的配置信息
gradle wrapper命令将包装器添加到gradle项目中,下面是一个项目结构。
└── <project folder>
└── gradlew
└── gradlew.bat
└── build.gradle
└──
└──
└── gradle
└── wrapper
└── gradle-wrapper.jar
└── gradle-wrapper.properties
gradle和gradlew命令的比较
| gradlew | gradlew |
|---|---|
| 安装和运行是手动的 | Gradle的安装默认是这样做的 |
| 本地机器有单一版本 | 每个项目可以配置不同的版本 |
| 需要在本地安装 | 不需要本地安装 |
| 所有的任务都可以用这个命令运行 | 除了项目的初始化,其他任务都可以执行 |
| build、test、init、wrapper和任何本地任务 | init和wrapper任务不工作,其他构建、测试和本地任务可以工作 |
| gradle设置将不会配置到版本库中 | 好的方法是将包装器文件提交到版本库。 |
总结
在本教程中,学习了gradlew和gradle命令的区别
除了在gradle wrapper中不能初始化和添加wrapper外,两者是相同的。