SpringBoot配置与使用maven的方法

 更新时间:2026年01月19日 09:57:34   作者:那我掉的头发算什么  
本文介绍了如何在IntelliJ IDEA中创建和配置Maven项目,包括创建过程、目录结构、pom.xml文件的用途、依赖管理、生命周期、配置选项以及如何下载依赖和配置本地仓库,感兴趣的朋友跟随小编一起看看吧

引言

当我们在创建一个新的idea项目时,不知道大家注意过没有

在这个页面中除了IntelliJ选项之外,还有一个Maven选项。而这个Maven恰好就是我们今天这篇文章的重头戏!

创建Maven项目

单单创建一个Maven项目其实很简单,只需要在原有的基础上把本来创建的idea项目改成Maven就好了。此处的GroupId和ArtifactId在工作中参与大项目时会使用到,表示组名和项目的一些信息。

创建完成后的项目中的目录与我们之前idea的目录差异很大,有了很多没见过的模块,比如:

  • target:Maven构建项目后生成的输出目录,所有的编译、打包的结果都会在这里
  • pom.xml:Maven 项目的核心配置文件,定义了项目的依赖、构建方式、插件、版本等关键信息。
  • External Libraries 外部依赖:这里显示的是项目通过 Maven 引入的所有外部依赖库。

target目录下的内容其实可以全部删除,因为每一次刷新Maven这些东西就会通过Maven指令重新解析并且重新生成一遍,我们只需要其中有用的包就行。
当我们想要检查某一个依赖是否真的被加入到项目中,我们可以检查外部依赖,如果外部依赖里确实有,那就说明这个依赖被添加进去了。

pom.xml是Maven中一个非常重要的文件!

pom文件

这是一个简单的数据库依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>maven-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>9.3.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>protobuf-java</artifactId>
                    <groupId>com.google.protobuf</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</project>

项目基本信息

前面这一部分都是对于项目的一些简介,里面包含了项目的一些基本信息。

GAV

<groupId>org.example</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>

这三个标签合称为Maven 的 GAV 坐标,是全球唯一标识一个项目 / 依赖的 “身份证”,无论在本地仓库还是中央仓库,Maven 都靠这三个值定位资源。

G:组织(团队名or公司名)
A:项目(项目名称)
V:版本

properties

<properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

properties是全局属性配置区,可以在这里定义 “公共变量”,作用是统一管理项目的基础配置,避免分散配置导致的不一致。
比如此处就定义了jdk的版本以及编码格式。

依赖管理核心:dependencies与dependency

<dependencies>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>9.3.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>protobuf-java</artifactId>
                    <groupId>com.google.protobuf</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

这里我们也是通过其中的GAV坐标来定位依赖,比如此处使用的就是Mysql官方的JDBC驱动来进行数据的链接的一个依赖。Maven会自动的到官方地址去下载这个依赖到本地仓库。

Maven 有 “传递依赖” 机制:当你引入 A 依赖时,A 依赖本身依赖的 B、C 库也会被自动引入。
但有时候,传递依赖会带来问题(比如版本冲突、冗余依赖),这时候就需要exclusions排除不需要的传递依赖:
这里排除了com.google.protobuf:protobuf-java:说明mysql-connector-j:9.3.0本身依赖了protobuf-java,但你的项目不需要这个库(或者它和其他依赖版本冲突),所以通过exclusion强制排除。

Maven的配置与使用

生命周期

我们点击右边的图标就可以打开Maven操作界面了。
这一部分表示整个Maven的一个生命周期。不过我们平时只需要用到前五个就可以。

我们可以直接双击package代表执行除了clean前五个命令,最终会将项目打包成一个.jar包。

下载依赖到本地仓库

如图所示,我们刚开始尝试添加一个依赖的时候,肯定会出现上面这样的报红的情况。这是因为Maven检查了本地仓库之后发现不存在9.2.0这个版本的数据库依赖。此时我们可以点击刷新Maven ,让Maven下载依赖:

新建Maven仓库

我们的Maven在本地C盘中有一个默认仓库,一般是在C:\Maven.m2中。建议大家改到别的目录下,因为我们的依赖都会被下载到这里,久而久之会占用很大的存储空间。注意新建的Maven仓库要包含原仓库中的所有文件。

然后我们把这里的两个路径改成和我图中一样的路径即可。
此处的setting.xml中保存了Maven的一些基本设置等。正常来说Maven会到总仓库中下载依赖,但是这个服务器在国外,所以速度可能会有点慢,可以通过在settings.xml中配置国内镜像源把下载路径改到国内的云服务,下载速度会变快。
有需要的话可以私信我,我把我的setting.xml文件私发给你。

当然,Maven的用法不止这些,感兴趣的话,大家可以自行探索哦

到此这篇关于SpringBoot配置与使用maven的方法的文章就介绍到这了,更多相关SpringBoot使用maven内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java生成唯一id的几种实现方式

    Java生成唯一id的几种实现方式

    本文主要介绍了Java生成唯一id的几种实现方式,主要介绍了5种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Java 如何读取Excel格式xls、xlsx数据工具类

    Java 如何读取Excel格式xls、xlsx数据工具类

    这篇文章主要介绍了Java 如何读取Excel格式xls、xlsx数据工具类的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • IntelliJ IDEA设置JVM运行参数的操作方法

    IntelliJ IDEA设置JVM运行参数的操作方法

    这篇文章主要介绍了IntelliJ IDEA设置JVM运行参数的操作方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-03-03
  • redis之基于SpringBoot实现Redis stream实时流事件处理方式

    redis之基于SpringBoot实现Redis stream实时流事件处理方式

    这篇文章主要介绍了redis之基于SpringBoot实现Redis stream实时流事件处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 如何关闭 IDEA 自动更新

    如何关闭 IDEA 自动更新

    这篇文章主要介绍了如何关闭 IDEA 自动更新,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Maven中的profiles使用及说明

    Maven中的profiles使用及说明

    这篇文章主要介绍了Maven中的profiles使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Java对象的四种引用方式实例分析

    Java对象的四种引用方式实例分析

    这篇文章主要介绍了Java对象的四种引用方式,简单描述了四种引用方式的概念、应用场景并结合实例形式分析了弱引用所引用对象的垃圾回收过程,需要的朋友可以参考下
    2019-08-08
  • 详解Java关于JDK中时间日期的API

    详解Java关于JDK中时间日期的API

    这篇文章主要介绍了详解Java关于JDK中时间日期的API,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • mybatis拦截器无法注入spring bean的问题解决

    mybatis拦截器无法注入spring bean的问题解决

    本文主要介绍了mybatis拦截器无法注入spring bean的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • SpringBoot实现接口统一前缀

    SpringBoot实现接口统一前缀

    本文主要介绍了SpringBoot实现接口统一前缀,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论