Gradle学习: 从0到1基础铺垫

Gradle学习: 从0到1基础铺垫

学习网址(如侵犯,联系删除):
https://www.w3cschool.cn/gradle/dla71hti.html

一、Gradle 安装

1、JDK安装 (自行百度)
已安装 JDK/JRE(版本 7 或以上),这里是 Win10 系统
在命令行输入:java -version 可查询当前电脑已安装的版本

在这里插入图片描述
2、Gradle 下载
从 Gralde 官方网站下载 Gradle 的最新发行包。
地址:https://gradle.org/releases/
在这里插入图片描述
3、配置
配置环境变量(自行百度)
运行 gradle 必须将 GRADLE_HOME/bin 加入到你的 PATH 环境变量中。

在这里插入图片描述
在这里插入图片描述
我的版本比较老,4.XXXX , 请各位以自己需求为准。

测试安装
运行如下命令来检查是否安装成功.该命令会显示当前的 JVM 版本和 Gradle 版本。

4、gradle -v 查看版本

在这里插入图片描述

二、Gradle Java 构建入门

1、构建 Java 项目
运行 gradle build 的输出结果

Output of gradle build
> gradle build
:compileJava
:processResources
:classes
:jar
:assemble
:compileTestJava
:processTestResources
:testClasses
:test
:check
:build
BUILD SUCCESSFUL
Total time: 1 secs

其余一些较常用的任务有如下几个:

clean
删除 build 目录以及所有构建完成的文件。

assemble
编译并打包 jar 文件,但不会执行单元测试。一些其他插件可能会增强这个任务的功能。例如,如果采用了 War 插件,这个任务便会为你的项目打出 War 包。

check
编译并测试代码。一些其他插件也可能会增强这个任务的功能。例如,如果采用了 Code-quality 插件,这个任务会额外执行 Checkstyle。

2、外部依赖
通常,一个 Java 项目拥有许多外部依赖。你需要告诉 Gradle 如何找到并引用这些外部文件。在 Gradle 中通常 Jar 包都存在于仓库中。仓库可以用来搜寻依赖或发布项目产物。下面是一个采用 Maven 仓库的例子。

3、添加 Maven 仓库

repositories {
    mavenCentral()
}

repositories {
    maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
}

4、添加依赖

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

5、工程依赖
同一个构建中可以建立工程依赖,一个工程的 jar 包可以提供给另外一个工程使用。例如我们可以让 api 工程以依赖于 shared 工程的 jar 包。这样 Gradle 在构建 api 之前总是会先构建 shared 工程。

dependencies {
    compile project(':shared')
}

三、Gradle 依赖管理基础

1、声明依赖
build.gradle

apply plugin: 'java'
repositories {
    mavenCentral()
}
dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

这是什么意思呢?这段脚本是这么个意思。首先,Hibernate-core.3.6.7.final.jar 这货是编译期必需的依赖。并且这货相关的依赖也会一并被加载进来,该段脚本同时还声明项目测试阶段需要 4.0 版本以上的 Junit。同时告诉 Gradle 可以去 Maven 中央仓库去找这些依赖。下面的章节会进行更详细的描述。

2、依赖配置

compile
编译范围依赖在所有的 classpath 中可用,同时它们也会被打包

runtime
runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要 JDBC API JAR,而只有在运行的时候才需要 JDBC 驱动实现

testCompile
测试期编译需要的附加依赖

testRuntime
测试运行期需要

不同的插件提供了不同的标准配置,你甚至也可以定义属于自己的配置项。

3、外部依赖
依赖的类型有很多种,其中有一种类型称之为外部依赖。这种依赖由外部构建或者在不同的仓库中,例如 Maven 中央仓库或 Ivy 仓库中抑或是本地文件系统的某个目录中。

4、定义外部依赖
build.gradle

dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}

外部依赖包含 group,name 和 version 几个属性。根据选取仓库的不同,group 和 version 也可能是可选的。

当然,也有一种更加简洁的方式来声明外部依赖。采用:将三个属性拼接在一起即可。“group:name:version”

5、快速定义外部依赖
build.gradle

dependencies {
    compile 'org.hibernate:hibernate-core:3.6.7.Final'
}

四、仓库

Gradle 是在一个被称之为仓库的地方找寻所需的外部依赖。仓库即是一个按 group,name 和 version 规则进行存储的一些文件。Gradle 可以支持不同的仓库存储格式,如 Maven 和 Ivy,并且还提供多种与仓库进行通信的方式,如通过本地文件系统或 HTTP。

默认情况下,Gradle 没有定义任何仓库,你需要在使用外部依赖之前至少定义一个仓库,例如 Maven 中央仓库。

1、使用 Maven 中央仓库
build.gradle

repositories {
    mavenCentral()
}

2、使用 Maven 远程仓库
build.gradle

repositories {
    maven {
        url "http://repo.mycompany.com/maven2"
    }
}

3、采用 Ivy 远程仓库
build.gradle

repositories {
    ivy {
        url "http://repo.mycompany.com/repo"
    }
}
或者在指定本地文件系统构建的库。

4、采用本地 Ivy 目录
build.gradle

repositories {
    ivy {
        // URL can refer to a local directory
        url "../local-repo"
    }
}

一个项目可以采用多个库。Gradle 会按照顺序从各个库里寻找所需的依赖文件,并且一旦找到第一个便停止搜索。

五、打包发布

依赖配置也被用于发布文件[3]我们称之为打包发布或发布。

插件对于打包提供了完美的支持,所以通常而言无需特别告诉 Gradle 需要做什么。但是你需要告诉 Gradle 发布到哪里。这就需要在 uploadArchives 任务中添加一个仓库。下面的例子是如何发布到远程 Ivy 仓库的:

1、发布到 Ivy 仓库
build.gradle

	uploadArchives {
	    repositories {
	        ivy {
	            credentials {
	                username "username"
	                password "pw"
	            }
	            url "http://repo.mycompany.com"
	        }
	    }
	}

执行 gradle uploadArchives,Gradle 便会构建并上传你的 jar 包,同时会生成一个 ivy.xml 一起上传到目标仓库。

2、发布到 Maven 仓库

build.gradle

apply plugin: 'maven'
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file://localhost/tmp/myRepo/")
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值