gradle安装配置与使用

gradle安装配置与使用什么是 gradleGradle 是一个基于 JVM 的构建工具 是一款通用灵活的构建工具 支持 maven Ivy 仓库 支持传递性依赖管理 而不需要远程仓库或者是 pom xml 和 ivy xml 配置文件 基于 Groovy build 脚本使用 Groovy 编写 简单来说 gradle 就是用于项目构建和依赖管理的 如果你用过 maven 的 pom xml 就知道 maven 的配置和语法有点繁杂 gradle 就简洁了很多 gradle 下载与安装 1 官网下载目前最新版是 gradle 7 2 rc 1 all zip 2

什么是gradle

Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。

简单来说gradle就是用于项目构建和依赖管理的,如果你用过maven的pom.xml就知道maven的配置和语法有点繁杂,gradle就简洁了很多。

gradle下载与安装

(1) 官网下载 目前最新版是gradle-7.2-rc-1-all.zip

(2) 下载后解压

(3) 环境变量配置

  • 在C盘之外的其他盘里新建一个文件夹用于存储将来所有下载的jar包
    (当然你也可以跳过这一步,如果你的C盘比较大)
    因为默认的gradle下载的依赖jar包会存储在C盘用户目录下的.gradle目录下,如果你的C盘比较小,依赖的jar包比较多的话,C盘将来会不够用。




  • 新建环境变量GRADLE_HOME
    变量值是gradle解压后的目录
    在这里插入图片描述




  • path环境变量里新增 %GRADLE_HOME%\bin
    在这里插入图片描述

(4) 检测是否安装成功

cmd命令行输入 gradle -v

gradle使用示例,利用gradle建立两个模块

(1) idea的gradle设置中修改gradle的存储目录(如果上面你没有跳过那一步)和 gradle 的位置

在这里插入图片描述
(2)新建gradle项目
在这里插入图片描述
在这里插入图片描述
构建完的项目目录如下:
在这里插入图片描述
由于我要构建多模块,所以src目录没用可以删除。












setting.gradle里用于配置项目里项目名称和包含哪些模块,如果你新加了模块idea会自动帮你修改setting.gradle文件。

(3) build.gradle配置

所以最终 build.gradle示例如下:

plugins { 
    id 'java' } group 'com.mytest' version '1.0-SNAPSHOT' description '开发' allprojects { 
    apply from: "${rootProject.projectDir}/build-libraries.gradle" repositories { 
    // 先去本地仓库查找有没有对应jar mavenLocal() //自己搭建的Sonatype Nexus远程仓库1 maven { 
    credentials { 
    username = "admin" password = "" } allowInsecureProtocol = true url 'http://127.0.0.1:8081/repository/maven-releases/' } //自己搭建的Sonatype Nexus远程仓库1 maven { 
    credentials { 
    username = "admin" password = "" } allowInsecureProtocol = true url 'http://127.0.0.1:8081/repository/maven-central/' } //阿里云仓库 maven { 
    url 'http://maven.aliyun.com/nexus/content/groups/public/' } } } subprojects { 
    apply plugin: 'java' apply plugin: 'idea' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' jar { 
    manifest.attributes provider: 'gradle' } } test { 
    useJUnitPlatform() } 

build-libraries.gradle 示例如下

library中前面的名字可以随便起,在后面模块引用的时候会用到

ext { 
    fastjsonVersion = '1.2.58' jedisVersion = '2.7.1' commonsFileUploadVersion = '1.3.1' commonsCodeVersion = '1.11' httpclientVersion = '4.5.1' jodconverterVersion = '2.2.1' poiVersion = '3.11' commonsNetVersion = '3.6' commonsLangVersion = '2.4' library = [ //juniti 用于单元测试 testImplementation : "org.junit.jupiter:junit-jupiter-api:5.7.0", testRuntimeOnly : "org.junit.jupiter:junit-jupiter-engine:5.7.0", //其他模块需要用到的依赖 fastjson : "com.alibaba:fastjson:${fastjsonVersion}", jedis : "redis.clients:jedis:${jedisVersion}", commonsFileUpload : "commons-fileupload:commons-fileupload:${commonsFileUploadVersion}", commonsCode : "commons-codec:commons-codec:${commonsCodeVersion}", httpclient : "org.apache.httpcomponents:httpclient:${httpclientVersion}", jodconverter : "com.artofsolving:jodconverter:${jodconverterVersion}", poi : "org.apache.poi:poi:${poiVersion}", poiXml : "org.apache.poi:poi-ooxml:${poiVersion}", commonsNet : "commons-net:commons-net:${commonsNetVersion}", commonsLang : "commons-lang:commons-lang:${commonsLangVersion}" ] } 

(4) 新建模块model1
在这里插入图片描述
在这里插入图片描述
新建完后可以看到model1中也有一个build.gradle,这个文件是表明这个模块需要用到哪些模块
在这里插入图片描述
model1中的build.gradle:










plugins { 
    id 'java' } group 'com.mytest' version '1.0-SNAPSHOT' dependencies { 
    implementation library['testImplementation'] implementation library['testRuntimeOnly'] implementation library['fastjson'] implementation library['jedis'] } test { 
    useJUnitPlatform() } 

注意:
如果你以前使用过低版本的 gradle,可能接触过 gradle 中的 compile、api来导入依赖。但在高版本中compile、api都不再推荐且被废除,所以要使用 implementation 导入。

(5) 新建模块model2
model2 中的 build.gradle:

plugins { 
    id 'java' } group 'com.mytest' version '1.0-SNAPSHOT' dependencies { 
    implementation library['testImplementation'] implementation library['testRuntimeOnly'] implementation library['fastjson'] implementation project(':model1')//引入model1模块 } test { 
    useJUnitPlatform() } 

(6) 构建

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225608.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:56
下一篇 2026年3月17日 上午8:56


相关推荐

  • python 生成exe,脱离python环境运行

    python 生成exe,脱离python环境运行1、python环境为Anaconda2,安装的环境为python2.7.12。安装Anaconda2,路径为https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda2默认为base,重新生成一个虚拟环境(默认安装的base安装了太多模块,生成exe运行速度较慢)并切换到python…

    2022年5月27日
    40
  • OV7725的帧率和PCLK寄存器设置[通俗易懂]

    OV7725的帧率和PCLK寄存器设置[通俗易懂]一、OV7725的PCLK的改变和以下几个寄存器有关:    1:OX0D;2:0X11—————————————————————————————————————————————————

    2026年2月25日
    5
  • 如何制作一个简单的HTML登录页面(附代码)

    如何制作一个简单的HTML登录页面(附代码)几乎每个网站都会有登录页面,那你知道如何写HTML登录页面吗?这篇文章就和大家分享一个HTML简单登录界面的代码,有一定的参考价值,感兴趣的朋友可以看看。实例:制作一个HTML登录页面,包含邮箱,登录密码,立即注册,忘记密码等,代码如下:HTML部分:<divclass=”dowebok”><divclass=”logo”></div><divclass=”form-item”><inputid=”username”t

    2022年6月13日
    74
  • 系统引导管理 之 系统引导管理器GRUB,为初学者指南

    系统引导管理 之 系统引导管理器GRUB,为初学者指南

    2021年7月9日
    101
  • c语言中的三目运算符是_三目运算符试题

    c语言中的三目运算符是_三目运算符试题转载自:impluseC++条件运算符a?b:c;是右结合的,但是这个右结合要怎么理解呢?对于a?b:c?d:e;这样的表达式如果按照右结合来解读的话,那不应该是先运算c,然后返回d或者e,返回后再参与到a?b:d/e;这样的运算的吗?但实际代码的编译测试的结果显然大家都已经知道并非如此,是先计算a,或者返回b,或者返回(c?d…

    2026年4月14日
    5
  • p90灯珠和p70灯珠区别_pc50是什么材料

    p90灯珠和p70灯珠区别_pc50是什么材料p50,p90,p99(或者写作pct50,pct90,pct99)都是数据聚合统计一种方式,跟百分比相关。p50:数据集按升序排列,第50分位置大的数据(即升序排列后排在50%位置的数据)。p90:数据集按升序排列,第90分位置大的数据(即升序排列后排在90%位置的数据)。p99:数据集按升序排列,第99分位置大的数据(即升序排列后排在99%位置的数据)。有什么实际含义和用处?经常用来衡量服务响应延迟。以最常用的p99为例,它衡量了99%的情况下能达到的最大延迟,99%的请求都低于

    2025年6月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号