Intellij IDEA gradle项目目录介绍

Gradle简介

Java的构建,经历了从Ant-->Maven->Gradle的过程,每一次的进步,都是为了解决之前的工具带来的问题:

  • Ant:Ant的功能虽然强大,但过于灵活,规范性不足,对目录结构及build.xml没有默认约定,且没有统一的项目依赖管理。
  • Maven:Maven解决了规范性的问题,也顺带解决了依赖项统一管理的问题,但由于规范性太强,灵活性不足,pom.xml采用Xml结构,项目一大,Xml就显得冗长。
  • Gradle:综合了Ant和Maven的优点,吸收了Ant中task的思想,然后把Maven的目录规范以及仓库思想也融合了进来,但允许用户自由的修改默认的规范(如,可随意修改源码目录),配置文件则采用Groovy语言来书写,Groovy是一门可编程语言,配置文件本身就可以视为一份源代码,并最终交由Gradle来处理执行。

目录结构

Intellij IDEA gradle项目目录介绍_第1张图片
image.png

build.gradle: 这个文件是整个项目的构建脚本,脚本中内容是以Groovy语言来书写的。
范例:

buildscript {//运行首先执行这段代码
    ext {//用于定义动态属性
        //sringBootVersion 变量的定义
        springBootVersion = '2.0.0.RELEASE'
    }
    repositories {
        //mavenCentral() //官方的中央仓库
        maven {  //自定义中央仓库 下面是引用阿里的maven中央仓库
            url 'http://maven.aliyun.com/nexus/content/groups/public'
        }
    }
    dependencies {//依赖,下面是依赖springboot的一个插件
        //${springBootVersion} 就是引用上面动态属性的变量
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

//使用了的插件
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.youngman'
version = '0.0.1-SNAPSHOT'//项目的版本号,用户可以自定义
sourceCompatibility = 1.8//JDK的版本

repositories {
    //mavenCentral()
    maven {
        url 'http://maven.aliyun.com/nexus/content/groups/public'
    }
}

//依赖
dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-security')
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    testCompile('org.springframework.security:spring-security-test')
}

gradlew: gradlew环境的脚本,我们执行就会完成环境一个搭建
build: gradlew 项目构建之后自动生成的一个目录
gradle: 里面有个子目录 wrapper项目成员没有安装gradle就会自动安装gradle,好处就是统一gradle的版本
src: 项目源码,包含程序源码和测试源码
.idea: 存放项目的配置信息。这个文件夹是自动生成,版本控制信息等,包括历史记录
settings.gradle: 针对module的全局配置,它的作用域所包含的所有module是通过settings.gradle来配置

你可能感兴趣的:(Intellij IDEA gradle项目目录介绍)