当前位置: 代码网 > it编程>编程语言>Java > idea SpringBoot+Gradle环境配置到项目打包

idea SpringBoot+Gradle环境配置到项目打包

2024年11月21日 Java 我要评论
一、前言gradle是一个基于apacheant和apachemaven概念的项目自动化构建开源工具。它使用一种基于groovy的特定领域语言(dsl)来声明项目设置,也增加了基于kotlin语言的k

一、前言

gradle是一个基于apache ant和apache maven概念的项目自动化构建开源工具。它使用一种基于groovy的特定领域语言(dsl)来声明项目设置,也增加了基于kotlin语言的kotlin-based dsl,抛弃了基于xml的各种繁琐配置。

面向java应用为主。当前其支持的语言c++、java、groovy、kotlin、scala和swift,计划未来将支持更多的语言。

二、下载gradle

官网下载地址:gradle | releases

其他下载地址:index of /gradle/

注意:使用idea 创建gradle 项目需查看idea适配的gradle 版本 ,找到idea的安装路径进入\\plugins\gradle\lib下查看gradle 的版本,我使用的是intellij idea 2022.2.3 ,支持的gradle7.4的版本,下载的是

gradle-7.4-all.zip

三、配置环境变量

1、说明: 下载gradle-7.4-all.zip后解压,在系统环境下新增

gradle_home: 解压后你的gradle路径

2、path 环境变量下新增:%gradle_home%\bin

3、配置maven 的环境变量:

maven_home: 你的mavend的存放路径

​4、path 环境变量下新增:%maven_home%\bin

四、init.gradle

说明:由于gradle构建时默认是从中央仓库中去查找依赖,中央仓库一般都在国外,速度很慢;我们可以执行构建时查找以来的顺序,进入gradle的文件夹内找到init.d文件夹后创建init.gradle(初始化构建依赖)添加如下内容,构建顺序按照mavenlocal() 本地仓库、 阿里云远端仓库、maven中央仓库;

allprojects {
    repositories { 
        mavenlocal() 
        maven { name "alibaba" ; url "https://maven.aliyun.com/repository/public" } 
        maven { name "bstek" ; url "https://nexus.bsdn.org/content/groups/public/" } 
        mavencentral()
    }
    buildscript {
        repositories { 
            maven { name "alibaba" ; url 'https://maven.aliyun.com/repository/public' } 
            maven { name "bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' } 
            maven { name "m2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

如图:

五、配置本地仓库

说明: 由于我们优先从本地仓库获取依赖,环境变量中已配置maven的地址,找到maven的安装路径下conf文件夹下的的settings.xml文件,修改本地仓库的地址,默认是${user.home}/.m2/repository,建议修改成c盘外的其他地址;如下图我的本地仓库地址是e:/lib;

注意: gradle 和 maven 可共同使用一个本地仓库

六、使用idea 创建springboot gradle项目

1、新建test-gradle 项目,点击create

2、配置gradle

点击idea 的file-> settings, 其中 gradel user home 配置的是本地的maven 仓库,

use gradle from 选择第三个选项,配置gradle的安装路径

3、点击此处,导入依赖

4、主要结构介绍

build.gradle:类似maven的pom.xml,可在dependencies 下添加项目依赖

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.0'
    id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.example'
version = '0.0.1-snapshot'

java {
    sourcecompatibility = '17'
}


repositories {
    mavencentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'mysql:mysql-connector-java:8.0.31'
    implementation 'com.baomidou:mybatis-plus:3.5.3.2'
    testimplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    usejunitplatform()
}

settings.gradle: 用于配置子模块,本项目无其他子模块;单项目构建,settings.gradle文件是可选的;多项目构建,settings.gradle文件是必需的,且必须位于项目的根目录下;

rootproject.name = 'test-gradle'

多个模块,如下

// 为指定父模块的名称 平台根
rootproject.name = 'project-root'
//包含子系统以及模块
include ':project-core'
//hello系统模块的加载
include ':project-hello'

 5、启动: 可通过双击bootrun启动,也可通过idea 的run/debug 正常启动

6、打包: 双击,可在bulid 文件夹下的libs 下生成jar 包

七、build.gradle 依赖管理简介

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'mysql:mysql-connector-java:8.0.31'
    implementation 'com.baomidou:mybatis-plus:3.5.3.2'
    testimplementation 'org.springframework.boot:spring-boot-starter-test'
}

maven 只有 compile、provided、test、runtime 这四种 scope

1、implementation: 默认的scope。implementation的作用域会让依赖在编译和运行时均包含在内,但是不会暴露在类库使用者的编译时。 举例,如果我们的类库包含了gson,那么其他人使用我们的类库时,编译时不会出现gson的依赖。
2、api:和implementation类似,都是编译和运行时都可见的依赖。但是api允许我们将自己类库的依赖暴露给我们类库的使用者。
3、compileonly 和 runtimeonly:这两种顾名思义,一种只在编译时可见,一种只在运行时可见。类似于 maven的provided比较接近。
4、testimplementation:这种依赖在测试编译时和运行时可见,类似于maven的test作用域。
5、testcompileonly 和 testruntimeonly:这两种类似于compileonly和runtimeonly,但是作用于测试编译时和运行时。

到此这篇关于idea springboot+gradle环境配置到项目打包的文章就介绍到这了,更多相关idea springboot gradle打包内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

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

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com