https://blog.csdn.net/qq_27520051/article/details/90384483

一、介绍

Gradle 是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于 Groovy(现在也支持 Kotlin)的内部领域特定语言。

二、特点

  1. Gradle是很成熟的技术,可以处理大规模构建
  2. Gradle对多语言、多平台支持性更好
  3. Gradle关注在构建效率上
  4. Gradle发布很频繁,重要feature开发计划透明化
  5. Gradle社区很活跃,并且增加迅速

三、安装

1.官网 (https://gradle.org/install/)下载二进制文件,并解压

2.配置环境变量

Path    D:\tools\gradle-5.5.1\bin

3.验证

gradle -v

四、使用IDEA快速构建SpringBoot项目

在setting配置中设置本地仓库地址

1.创建一个Gradle项目



2.Type选择Gradle Project



3.选择Web中的Spring Web Starter



4.使用本地Gradle并配置本地仓库地址



5.项目创建完成

五、gradle配置及依赖方式说明

1.setting.gradle

pluginManagement {
repositories {
gradlePluginPortal()
}
}
rootProject.name = 'demo' //项目名

2.build.gradle

plugins {
id 'org.springframework.boot' version '2.1.6.RELEASE'
id 'java'
} apply plugin: 'io.spring.dependency-management' //应用的插件 group = 'com.example'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = '1.8' repositories { //远程仓库,根据先后顺序,决定优先级

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

mavenCentral()

} dependencies {

implementation 'org.springframework.boot:spring-boot-starter-web'

testImplementation 'org.springframework.boot:spring-boot-starter-test'

}

3.build.gradle中各种依赖说明

1.implementation

这个指令的特点就是,对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。

2.api

完全等同于compile指令。

3.compile

这种是我们最常用的方式,使用该方式依赖的库将会参与编译和打包。

4.testCompile

testCompile 只在单元测试代码的编译以及最终打包测试时有效。

5.debugCompile

debugCompile 只在debug模式的编译和最终的debug打包时有效。

6.releaseCompile

releaseCompile 仅仅针对Release模式的编译和最终的Release打包。

7.provided

只在编译时有效,不会参与打包,可以在自己的moudle中使用该方式依赖。

8.apk(runtimeOnly)

只在生成apk的时候参与打包,编译时不会参与,很少用。

4.依赖版本号处理

compile ‘com.google.code.gson:gson:2.8.0’ 

在Gradle中可以不指定版本号,比如:

compile ‘com.google.code.gson:gson:2.+’ 引入gson 大版本为2的包
compile ‘com.google.code.gson:gson:latest.release’引入gson 最新的包

5.统一管理版本号

def dpc = rootProject.ext.testVersion
ext{
//dependencies
testVersion ='xx.xx.xx'
} //使用

compile test dpc

Gradle入门及SpringBoot项目构建的更多相关文章

  1. SpringBoot项目构建、测试、热部署、配置原理、执行流程

    SpringBoot项目构建.测试.热部署.配置原理.执行流程 一.项目构建 二.测试和热部署 三.配置原理 四.执行流程

  2. Java SpringBoot 项目构建 Docker 镜像调优实践

    PS:已经在生产实践中验证,解决在生产环境下,网速带宽小,每次推拉镜像影响线上服务问题,按本文方式构建镜像,除了第一次拉取.推送.构建镜像慢,第二.三-次都是几百K大小传输,速度非常快,构建.打包.推 ...

  3. 使用Gradle推送SpringBoot项目源码到私有仓库

    应用场景: 在SpringCloud微服务项目中,通常会划分成多个业务服务,而这些服务之间一般会使用Feign组件进行相互调用,所以在项目开发中会衍生出一个问题:Feign客户端代码该由服务调用方的开 ...

  4. Maven01——简介、安装配置、入门程序、项目构建和依赖管理

    1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同 ...

  5. SpringBoot之入门教程-SpringBoot项目搭建

    SpringBoot大大的简化了Spring的配置,把Spring从配置炼狱中解救出来了,以前天天配置Spring和Mybatis,Springmvc,Hibernate等整合在一起,感觉用起来还是挺 ...

  6. 基于Gradle的spring boot 项目构建

    今天听只是分享,听到不用maven而使用Gradle构建,就尝试了下 Java三大构建工具:Ant.Maven和Gradle Gradle是一个基于Apache Ant和Apache Maven概念的 ...

  7. Gradle中使用SpringBoot插件构建多模块遇到的问题

    通常下,多模块的项目如下: Root project 'demospring' +--- Project ':model' \--- Project ':rest' 那么我们需要在rest模块依赖mo ...

  8. 【入门】Spring-Boot项目配置Mysql数据库

    前言 前面参照SpringBoot官网,自动生成了简单项目点击打开链接 配置数据库和代码遇到的问题 问题1:cannot load driver class :com.mysql.jdbc.Drive ...

  9. gradle 多模块Springboot项目 compile project引用其他模块的坑

    本来以为子项目中compile project(':xxx'),就能引用其他模块了,因为之后idea也没在引用时候标红 然而我gradle build的时候,居然各种找不到引用模块的类 最后在stac ...

随机推荐

  1. prometheus(3)之grafan可视化展现

    可视化UI界面Grafana的安装和配置 Grafana介绍 Grafana是一个跨平台的开源的度量分析和可视化工具,可以将采集的数据可视化的展示,并及时通知给告警接收方.它主要有以下六大特点: 1. ...

  2. Fiddler抓包工具简介:(一)认识Fiddler

    认识Fiddler Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的"进出"Fiddler的数据(指coo ...

  3. css 马赛克悬停效果

    css 马赛克悬停效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset=

  4. Ubuntu更换python版本

    Ubuntu更换python版本 ubuntu服务器自带的python版本是python3.6,在运行jwt包时会有版本问题,所以安装和本地相同的python版本=>python3.7 安装py ...

  5. HTTP1.1 Keep-Alive到底算不算长连接?

    在基础架构部沉浸了半年,有一些认知刷新想和童靴们交代一下, 不一定全面,仅代表此时的认知, 也欢迎筒靴们提出看法. 本文聊一聊口嗨用语:"长连接.短连接", 文章会按照下面的思维导 ...

  6. kali 安装typora

    一.安装 官网下载文件解压,并移动到 /opt 文件夹下 二.赋权 在typora目录的bin文件夹下执行命令 ./typora 会报错[7442:0707/173355.682906:FATAL:s ...

  7. C#窗体学习

    //进度条控件 private void button1_Click(object sender, EventArgs e)        {            int i;            ...

  8. Jenkins教程(八)实现 GitLab 触发 Jenkins 自动按模块发布前端

    楔子 上篇文章解决了提交/合并请求自动触发的需求,但所有前端模块都在同一个代码仓库里,如何获取变更文件路径确定要发布哪个模块呢?本文将带你解决这个问题. 思路 分别解决 3 个问题: 获取变更的文件列 ...

  9. [loj2469]最小方差生成树

    2018年论文题 约定:令点集$V=[1,n]$.边集$E=[1,m]$,记$m$条边依次为$e_{i}=(x_{i},y_{i},c_{i})$(其中$1\le i\le m$),将其按照$c_{i ...

  10. [loj3301]魔法商店

    令$A=\{a_{1},a_{2},...,a_{s}\}$,若$k\not\in A$,那么恰存在一个$A'\subseteq A$使得$c_{k}=\bigoplus_{x\in A'}c_{x} ...