欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IDEA使用Gradle构建SpringBoot项目工程

程序员文章站 2022-06-04 10:38:31
...

背景

  • 最近在研究搭建spring源码调试环境时,接触到到gradle项目构建工具。由于之前习惯于maven项目的构建,故通过此文记录相关gradle的项目构建知识。

Gradle

Gradle是一个构建工具,用于管理项目依赖和构建项目工程。Gradle抛弃了Maven的基于XML的繁琐配置,采用特定语言Groovy的配置,大大简化了构建代码的行数。

  • 项目结构
    IDEA使用Gradle构建SpringBoot项目工程
  • Plugin Sample
pluginManagement {
	repositories {
		gradlePluginPortal()
		maven { url 'https://repo.spring.io/plugins-release' }
	}
}

plugins {
	id "com.gradle.enterprise" version "3.2"
	id "io.spring.gradle-enterprise-conventions" version "0.0.2"
}

include "spring-aop"
include "spring-aspects"
include "spring-beans"
include "spring-context"
include "spring-context-indexer"
include "spring-context-support"
include "spring-core"
include "kotlin-coroutines"
project(':kotlin-coroutines').projectDir = file('spring-core/kotlin-coroutines')
include "spring-expression"

IDEA使用Gradle构建SpringBoot项目工程

新建SpringBoot项目

IDEA使用Gradle构建SpringBoot项目工程

  • 使用Gradle构建项目

IDEA使用Gradle构建SpringBoot项目工程

  • 项目结构
    • src结构和maven结构一致;gradle文件夹 存放gradle wrapper相关文件;build.gradle相当于maven里面的pom.xml,setting.gradle用于多模块的配置。

IDEA使用Gradle构建SpringBoot项目工程

  • build.gradle
    • plugins:插件配置;
    • sourceCompatibility:jdk版本号
    • repositories:仓库配置,mavenCentral()代表*仓库;
    • dependencies:依赖的坐标集合
plugins {
    id 'org.springframework.boot' version '2.3.1.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

添加依赖

IDEA使用Gradle构建SpringBoot项目工程

  • 项目依赖的格式为 作用范围修饰符 ( ‘groupId:artifactId:version’ )
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }

    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa
     compile ('org.springframework.boot: spring-boot-starter-data-jpa: 2.3.1 ')

}

gradle打包

IDEA使用Gradle构建SpringBoot项目工程
IDEA使用Gradle构建SpringBoot项目工程
IDEA使用Gradle构建SpringBoot项目工程

相关标签: java gradle