Gradle下的build.gradle文件,让Gradle在初始化阶段更简单
(一)简介:
学习阶段初期,项目练习中,项目的初始化和配置需要用很多时间,浪费了很多的时间,为更快捷的进行项目的初始化和配置,把最近这两天学习的Gradle的build.gradle文件里面的代码进行了梳理,方便后面直接通过IDEA对项目进行初始化和配置,后面再根据自己学习的不断深入,进一步完善相关代码。
(二)build.gradle文件代码
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'idea'
apply plugin: 'java-library'
apply plugin: 'maven-publish'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
//TODO:此build.gradle文件包含基本的依赖和 SpringBoot依赖,里面存在依赖冲突,根据需要删除其中一个
group = 'com.dream.seeker'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
targetCompatibility = '11'
//TODO:这个闭包里是自动配置下载 Gradle 脚本执行所需要的的依赖,分别是对应 Maven 仓库和构建工具 Gradle 的版本。
// 闭包里包含两项内容:一是repositories,另一个是dependencies
//TODO:这是一个自建脚本(初始化过程),一些插件在没有的情况下,需要通过他来先下载
buildscript {
//TODO: 在闭包里可以自定义参数
ext {
springBootVersion = '2.5.2' }
//TODO:repository 这个闭包里面主要是配置远程的 Maven 仓库地址。我们看到里面声明了jcenter()和google(),这两个都是 maven 仓库,
repositories {
jcenter()
google()
maven {
url("http://localhost:8081/repository/maven-public/")
}
maven {
url("https://packages.aliyun.com/maven/repository/2120213-release-AhMmkS")
}
maven {
url("https://maven.aliyun.com/repository/public")
}
}
//TODO:dependencies{} 闭包:这个闭包我们直接看,就应该能猜到是配置项目构建工具 Gradle 的版本的,
// classpath 就是声明一个插件 Gradle来构建项目。dependencies虽然是依赖的意思,
// 但是我们这里需要注意:不能将应用程序的依赖放在这里,应用程序的依赖在单独的build.gradle里面。
dependencies {
classpath("com.android.tools.build:gradle:3.5.1")
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
classpath('com.github.dcendents:android-maven-gradle-plugin:2.1')
//TODO:插件是不对外的,存在某个私有仓库的,该如何修改或者添加额外的私有仓库地址呢?可以定义一个settings.gradle文件来指定本地的仓库来下载plugin
/*
pluginManagement {
repositories {
maven {
url 'http://examle.com/maven-repo'
}
gradlePluginPortal()
}
*/
}
}
//TODO:allprojects闭包的repositories用于多项目构建,为所有项目提供共同所需依赖包。
// 而子项目可以配置自己的repositories以获取自己独需的依赖包。
allprojects {
repositories {
//TODO:中央仓库
jcenter()
//TODO:谷歌仓库
google()
//TODO:本地nexus服务器仓库
maven {
url("http://localhost:8081/repository/maven-public/")
}
//TODO:阿里云中央仓库
maven {
url 'https://maven.aliyun.com/repository/public'
}
//TODO:阿里云maven服务器个人仓库release
maven {
credentials {
username '60ebdb6e750bbcd1c09c73b1'
password 'Cs-4Be)yvK]j'
}
url 'https://packages.aliyun.com/maven/repository/2120213-release-AhMmkS/'
}
//TODO:阿里云maven服务器个人仓库snapshots
maven {
credentials {