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. Webshell 一句话木马

    Webshell介绍 什么是 WebShell webshell就是以asp.php.jsp或者cgj等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门 由于 webshell其大多是 ...

  2. Bootstrap-2栅格系统

    栅格系统(使用最新版本bootstrap) Grid options(网格配置) Responsive classes(响应式class) Gutters(间距) Alignment(对齐方式) Re ...

  3. linux下安装Git并生成SSH key

    系统:contens7.4 1.下载源码解压 wget https://github.com/git/git/archive/v2.3.0.zip unzip v2.3.0.zip cd git-2. ...

  4. Python基础(返回函数)

    #我们在函数lazy_sum中又定义了函数f1,并且,内部函数f1可以引用外部函数lazy_sum的参数和局部变量,当lazy_sum返回函数f1时,相关参数和变量都保存在返回的函数中,这种称为&qu ...

  5. FastAPI 学习之路(六十一)使用mysql数据库替换sqlite数据库

    我们首先需要安装对应的连接的依赖 pip install pymysql 然后在配置testDatabase.py from sqlalchemy import create_engine from ...

  6. [loj3301]魔法商店

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

  7. UI自动化测试:App的WebView页面中,当搜索栏无搜索按钮时处理方法

    一.遇到的问题 在做移动端的UI自动化测试时,经常会遇到上图所示的搜索框,这里有个麻烦就是搜索框没有"搜索"按钮,UI自动化测试时不能确认搜索. 要解决这个问题,我们可以通过 dr ...

  8. nginx得请求转发代码-将请求转发到网关

    首先:本地主机host更改成 192.168.111.1 gulimail.com 这样一访问网址就能映射到本地. 然后修改nginx得conf worker_processes 1; events ...

  9. 新玩法-使用AllArgsConstructor+filal代替autowired

    和下面的代码一样: Springboot官方建议使用final来修饰成员变量,然后通过构造方法来进行注入原因:final修饰的成员变量是不能够被修改的,反射那就没办法了 还有一种写法: @Requir ...

  10. x86汇编反编译到c语言之——(2)if语句

    一. 测试的C语句及编译后的x86汇编代码 int a; int b; int main(void) { int c; if (c) a = 4; else b = 5; return 0; } 1 ...