全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-18 6 分钟 ✍️ juanwangdev

SpringBoot Maven与Gradle构建工具

SpringBoot 支持 Maven 和 Gradle 作为构建工具。

Maven基础配置

pom.xml结构

XML
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>

    <!-- 继承SpringBoot父项目 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.0</version>
    </parent>

    <!-- 项目坐标 -->
    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>

    <!-- 依赖 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <!-- 构建插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

Maven常用命令

命令作用
mvn clean清理target目录
mvn compile编译源代码
mvn test运行测试
mvn package打包项目
mvn install安装到本地仓库
mvn spring-boot:run运行项目
Bash
# 清理并打包
mvn clean package

# 跳过测试打包
mvn clean package -DskipTests

# 运行项目
mvn spring-boot:run

Gradle基础配置

build.gradle结构

groovy
plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.0'
    id 'io.spring.dependency-management' version '1.1.0'
}

group = 'com.example'
version = '1.0.0'
sourceCompatibility = '17'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

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

Gradle常用命令

命令作用
gradle clean清理build目录
gradle build编译打包
gradle bootRun运行项目
gradle test运行测试
Bash
# 清理并构建
gradle clean build

# 跳过测试构建
gradle build -x test

# 运行项目
gradle bootRun

Maven vs Gradle对比

特性MavenGradle
配置格式XMLGroovy DSL
构建速度一般更快
灵活性较低更高
学习难度简单稍复杂
生态成熟度成熟较新

添加依赖方式

Maven

XML
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

Gradle

groovy
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

多模块项目

Maven多模块

XML
<!-- 父pom.xml -->
<modules>
    <module>module-core</module>
    <module>module-web</module>
    <module>module-service</module>
</modules>

Gradle多模块

groovy
// settings.gradle
include 'module-core', 'module-web', 'module-service'

依赖范围

Maven scope

scope说明
compile编译和运行都使用
provided编译使用,运行不打包
runtime只在运行时使用
test只在测试时使用

Gradle配置

配置说明
implementation编译和运行
compileOnly只编译
runtimeOnly只运行
testImplementation测试使用

要点总结

  • Maven配置简单,广泛使用
  • Gradle灵活高效,适合大型项目
  • spring-boot-starter-parent简化依赖版本管理
  • spring-boot-maven-plugin支持打包可执行JAR

📝 发现内容有误?点击此处直接编辑

← 上一篇 SpringBoot项目JSON交互
下一篇 → SpringBoot application.yml配置详解
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库