Gradle home
指定了gradle文件目录Service directory path
指定了gradle工作主目录
gradle仓库设置
建议如下设置
repositories {
mavenLocal()
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
mavenCentral()
jcenter()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' } //转换pdf使用
}
存储库只是文件的集合,按分组,名称和版本来组织构造。 默认情况下,Gradle不定义任何存储库。 这里使用repositories 指定存储库。
mavenLocal():指定使用maven本地仓库,而本地仓库在配置maven时setting文件指定的仓库位置。如<localRepository>D:/repository</localRepository>,同时将setting文件拷贝到C:\Users\Administrator\.m2目录下,一般该目录下是没有setting文件的,gradle查找jar包顺序如下:gradle默认会按以下顺序去查找本地的仓库:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository。
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}:指定阿里云镜像加速地址
mavenCentral():这是Maven的中央仓库,无需配置,直接声明就可以使用
jcenter():JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问。
后面的maven { url 地址},指定maven仓库,一般用私有仓库地址或其它的第三方库
gradle按配置顺序寻找jar文件。如果本地存在就不会再去下载。不存在的再去maven仓库下载,这里注意下载下来的jar文件不在maven仓库里,而是在gradle的主工作目录下,如上面的D:\.gradle目录
gradle.build构建脚本
build.gradle是Gradle默认的构建脚本文件,执行Gradle命令的时候,会默认加载当前目录下的build.gradle脚本文件。
gradle.build脚本如下:
buildScript {
repositories {
mavenCentral()
}
}
repositories {
mavenCentral()
}
buildScript里的repositories是这个脚本需要的依赖库,与项目无关,在执行脚本时,会从这个库里download对应的jar和插件。第二个repositories是项目里需要依赖的jar的库。
settings.gradle配置
是模块Module配置文件,大多数setting.gradle的作用是为了配置子工程,根目录下的settings.gradle脚本文件是针对module的全局配置,它的作用域所包含的所有module是通过settings.gradle来配置。
settings.gradle用于创建多Project的Gradle项目。Project在IDEA里对应Module模块。
例如配置module名rootProject.name = 'DyoonPLM'
一,何为build工具
我们写一个java web程序大致需要以下步骤呢:
从版本控制系统下载基础源码
编写程序,并在这过程中复制相应的依赖包到classpath目录下
编译java 文件,形成jar包
运行单元测试
生成代码覆盖度报告和测试报告
打包形成war文件
上传到测试服务器上,进行部署
在以前,这些操作都是需要我们手动去完成的。比如当引入一个外部依赖时,我们要专门去相应的地方拷贝得到jar包,或者得到源码编译出jar包,然后复制到classpath目录下。写完代码后,我们需要手动使用编译工具编译,然后手动去运行测试工具进行单元测试,如果没问题的话,再手动打包成war包,然后手动上传到服务器指定目录部署。
一个项目下来我们将会在这些与写代码无关的事情上浪费大量时间,而这些行为很明显是重复的,完全可以编写出相应的程序来帮助我们自动的完成这一系列的操作。而且多人合作时,每个人使用的外部依赖库的版本可能不一样,当合并项目后有可能会因为版本的不同带来BUG,而且这些BUG非常不容易让人发现,人们急需一个统一管理第三方依赖的工具。于是build工具出现了。
gradle是一个工具,通过执行build.gradle来实现build的功能,build.gradle这个build脚本是需要程序员自己来编写的,可以使用groovy语言来编写,功能强大而且直观。也可以直接引入其他人已经编写好的脚本或工具来实现build,引入方法为通过apply plugin: 'plugin名'语句实现,plugin可以是build脚本也可以是java程序。
gradle官方提供了很多常用的build plugin,比如我们这次创建项目引入的‘war’plugin,他是继承自‘java’这个plugin,在实现‘java’plugin中关于build java程序的基础上,额外定义了java web项目目录、打包war包等功能,剔除了打包jar包的功能,具体详情可以在gradle官方文档中查看到。
build操作通过引入相应的plugin基本就可以实现了,在平时的使用过程中,我们主要对gradle的操作是添加第三方依赖,让gradle帮我们管理这些第三方依赖。