构建工具Gradle与IDEA使用说明

导语

IDEA拥有大量的JAVA开发者的拥护,相比与其他的开源的eclipse,IDEA拥有更简洁直观的界面,拥有更强大的自动补全的功能,号称能够"一路敲回车就能完成编码".如果把IDEA和eclipse比作手机的话,IDEA就好比IOS,美观,强大,人姓化。官方就能帮助你解决大部分的问题,eclipse更像android,自由,开放,高度可控制。

Gradle作为build工具的新星星,收到谷歌的大力的拥护,直接钦定为AS御用的build工具,在JAVA web方面也大有取代maven上位的趋势,已成为IDEA默认支持的构建工具。gradle最大的优势是可以直接在脚本中运行groovy语言,这就使得gradle具有非常强大的扩展性。

二,在IDEA中创建一个gradle构建的java web项目


2,填写项目ID

groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找搜索。

groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。

比如我创建一个项目,我一般会将groupId设置为cn.zr,cn表示域为中国,zr是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.zr.testProj打头的,如果有个StudentDao,它的全路径就是cn.zr.testProj.dao.StudentDao


3,配置gradle

4,填写工程名


5,得到的最终目录结构和build.gradle文件


三,gradle使用说明

gradle 呢,是一个构建的工具,通过执行build.gradle来实现build的功能,build.gradle这个脚本是需要程序员自己来编写的,可以使用groovy语言来编写,功能强大而且直观。也可以直接的引入其他人已经写好的脚本或者工具来实现build,引入方法为:通过apply plugin:'plugin'语句实现,plugin可以是build脚本也可以是java程序。。。

gradle官方提供很多常用的build plugin,比如我们这次创建项目引入的war ,它是继承自java这个plugin,在实现'java.plugin'中关于build java程序的基础上,额外的定义了java web 的项目的目录,打包war包等功能,剔除了打包jar包等功能。

build操作通过引入相应的plugin基本就可以实现了,在平时的使用过程中,我们主要对gradle的操作是添加第三方依赖,让gradle帮我们管理这些第三方依赖。

通过手动操作引入一个第三方依赖(例如spring core)

1,前往spring官网找到其提供的spring core下载地址

2,选择一个需要的版本下载下来

3,解压,将得到的jar移动到我们项目的classpath目录下

只需要三步,看起来并不是很复杂,但是一个项目需要引入的第三方依赖的数量是非常巨大的,而且加入我们下载的spring core的版本是4.3.6,并且这呢是一个多人共同协作的项目,当大家的工作合并起来的时候,如果有人使用的是4.2.1版本的话,我们是很难去发现这个不同的。

使用gradle引入一个第三方依赖(例如spring core)

gradle兼容maven仓库,所以可以直接的使用maven仓库来导入第三方的依赖,maven仓库是按照一定的协议来存放各种第三方依赖库的空间,可以通过groupID和artifactid来定位到找到自己需要的第三方依赖库。

  1. 在build.gradle中指定用来下载依赖库的仓库,可以使用网址或者本地地址来指定,也可以使用“mavenCentral()”这些gradle定义的地址来使用默认的仓库。
  2. 在dependencies中使用写入依赖库所在组(group),名称(name),版本号(version)

仓库只需要定义一次,通过上面的配置gradle就会从定义好的仓库中找到相应的依赖包下载下来并编译好,然后就可以直接在代码中使用了。在mvnrepository这个远程maven仓库中,它提供了引入相应依赖包的配置,只需复制下来黏贴到buil.gradle文件中即可。


通过build工具管理依赖库的优点

1,方便,不需要进行各种文件操作。

2,直观,项目中使用了那种第三方依赖一目了然

3,统一,同一个项目中,只要保证使用同一个build脚本就可以做到环境和依赖包的统一。

四,关于Javaweb中gradle的目录配置和IDEA对gradle的适配

java web 有自己的程序包的规范(封包的格式为.war),类似于安卓中的apk文件。将其移动到web服务器(如tomcat)的相应的目录中,web服务器就会将其解压,部署,将网站跑起来。当然也可以是直接将其解压,将得到的目录移动到服务器指定的目录下(类似于Apache的www目录)即可。


gradle定义的项目的结构(准确的来说"war这个plugin定义的")

将项目目录结构定义的有别于程序包目录结构,是为了方便程序员在编写程序的时候更加直观的管理项目文件,因为程序包定义的目录结构不一定适合人们直观的对其进行操作。比如war包专门定义了一个Resource目录,方便用户集中管理资源文件和各种配置文件


IDEA的项目构建配置(ctrl+alt+shift+s)

IDEA对各种构建工具的适配就主要体现在这个界面,在这个界面可以提供可视化的构建操作





猜你喜欢

转载自blog.csdn.net/qq_37876078/article/details/81066548