IDEA使用Gradle构建SpringBoot项目工程的详细教程

来自:网络
时间:2020-11-04
阅读:

背景

最近在研究搭建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项目工程的详细教程

总结

返回顶部
顶部