您的位置:首页 > 其它

(1)项目构建工具之Gradle入门

2017-01-16 15:12 555 查看
引言

安装Gradle
1配置Gradle环境变量

2 验证Gradle是否安装成功

3 配置Gradle的本地仓库地址

Gradle的简单使用
1 Gradle的工程目录

2 Gradle的生命周期

3 Gradle的jar包依赖

4 Gradle的插件更多的是插件的使用

41 使用java插件用于打jar包下面是buildgradle命令gradle build

42 使用war插件打war包下面是buildgradle命令gradle build

43 使用jetty插件运行war包下面是buildgradle命令gradle jettyRun

44 使用maven插件将jar或者war发布到私服中命令gradle uploadArchives

45 修改建立的jar包或者war名称

配置全局的远程仓库国内镜像

1.引言

在本篇博客中主要介绍一下Gradle的简单使用,说一下我为什么要学习Gradle这个工具呢,一个原因是:Spring实战4默认是用Gradle构建的自己项目,然后就是移动GIS工程默认是用Gradle构建的,所以对于我来说,学习Gradle似乎又是不可缺少的东西。好了废话不多少,先说一下Gradle是什么东西呢?简单的来说Gradle和Maven差不多,是一个项目构建工具,但是Gradle又显得更加的强大,优势是多项目构建中,Gradle显得更加的强大,本篇博客主要记录一下:

如何安装Gradle

如何配置 Gradle的本地仓库路径

如何配置Gradle的国内镜像

Gradle和Maven的整合(将jar包发布到私服当中)

2.安装Gradle

Gradle的官方地址为:Gradle官网

2.1配置Gradle环境变量

我们在Gradle官网下载我们的软件包,然后只需要将Gradle的bin目录配置到环境变量中。如下图所示:





2.2 验证Gradle是否安装成功

在控制台下输入命令:

gardle -v


出现如下画面便安装成功:



2.3 配置Gradle的本地仓库地址

我们在使用Maven的时候,具有这本地仓库和远程仓库的概念。在Gradle中也有着本地仓库和远程仓库。并且,关于Gradle的远程仓库,我们可以使用Maven的远程仓库(也可以是我们公司的私服),也可以将我们的数据私服当中。

配置Gradle本地仓库的地址,只需要修改环境变量即可,如果我想将Gradle的本地仓库配置到
D:\gradlehome
,只需要如下配置:

GRADLE_USER_HOME=D:\gradlehome


如下图所示:



3.Gradle的简单使用

3.1 Gradle的工程目录

和Maven相似,Gradle项目也有着自己的目录结构,当然我们也可以修改目录(一般不建议)。Gradle的标准目录结构为:

src
main
java
resource
test
java
resource
build.gradle


我们可以很容易的看出来,build.gradle和maven中的pom一样,属于配置文件

3.2 Gradle的生命周期

在使用Gradle命令之前我们先看一下Gradle的生命周期:




通过该生命周期,我们可以发现gradle生命周期的最后一部叫做build。
因此我们最常用的一个命令叫做gradle build


3.3 Gradle的jar包依赖

在项目开发过程中Jar以来是一个很重要的问题,在这里我们就用一张图来对比一下maven和gradle关于jar包依赖的区别和联系:



3.4 Gradle的插件(更多的是插件的使用)

3.4.1 使用java插件:用于打jar包(下面是build.gradle)命令
gradle build

//使用java插件,用于编译jar包
apply plugin: 'java'
//我们jar包的版本是0.1
version = 0.1
//使用的jdk的为1.8
sourceCompatibility = 1.8
//使用maven中央仓库
repositories {
mavenCentral()
}
//项目的依赖jar包
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}


3.4.2 使用war插件打war包(下面是build.gradle)命令:
gradle build

//注意war插件继承了java插件
apply plugin: 'war'
sourceCompatibility = 1.8
version = '1.0'

repositories {
mavenCentral()
}

dependencies {
testCompile  'junit:junit:4.11'
providedCompile 'javax.servlet:servlet-api:2.5'
runtime 'javax.servlet:jstl:1.1.2'
}


3.4.3 使用jetty插件运行war包(下面是build.gradle)命令
gradle jettyRun

apply plugin: 'war'
apply plugin: 'jetty'
sourceCompatibility = 1.8
version = '1.0'

repositories {
mavenCentral()
}

dependencies {
testCompile  'junit:junit:4.11'
providedCompile 'javax.servlet:servlet-api:2.5'
runtime 'javax.servlet:jstl:1.1.2'
}
//配置端口号,配置项目的根路径:localhost:8080/index.jsp
jettyRun {
httpPort = 8080
contextPath = '/'
}




3.4.4 使用maven插件将jar或者war发布到私服中,命令:
gradle uploadArchives

apply plugin: 'java'
apply plugin: 'maven'
sourceCompatibility = 1.8
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
testCompile  'junit:junit:4.11'
}
//pom的组名称,必须要填
group="com"
uploadArchives {
repositories.mavenDeployer{
repository(url: "http://localhost:8080/nexus/content/repositories/snapshots/"){
authentication(userName: "admin", password: "admin123")

}
}
}


注意的仓库的权限



3.4.5 修改建立的jar包或者war名称

在项目根目录下面新建一个settings.gradle文件(注意settings,不是setting),内容如下:

rootProject.name="wpx"


4.配置全局的远程仓库(国内镜像)

我们使用Maven的时候会发现一个问题,我们使用国外的镜像,下载速度真的是太慢了。我们通常修改为国内的镜像。Gradle也是可以指定国内镜像的。

在本地仓库下面新建一个
init.gardle
文件



修改内容如下:

allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}




如何在项目中使用国内镜像(build.gradle):其实没有任何改变



原来
mavenCentral()
这个参数指定的是国外镜像,当我们设置init文件之后,这个参数就会去国内镜像去下载我们的jar包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: