IDEA集成Maven

一、创建Maven项目

1、配置Maven环境(全局)

2、创建项目

3、配置jdk版本

4、创建Maven项目

  1. 创建模块

  2. 创建test下面的resources

完整的Maven目录:

  1. 创建类

二、Maven坐标

  • 什么是坐标?

    • Maven 中的坐标是资源(jar)的唯一标识,通过该坐标可以唯一定位资源位置。
    • 使用坐标来定义项目或引入项目中需要的依赖。
  • Maven 坐标主要组成

    • groupId: 定义当前Maven项目隶属组织名称(通常是域名反写,例如:org.example)
    • artifactId: 定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
    • version: 定义当前项目版本号
      1. SNAPSHOT:功能不稳定、尚处于开发中的版本,即快照版本
      2. RELEASE:功能趋于稳定、当前更新停止,可以用于发行的版本(如果是具体版本号,不带RELEASE其实也是RELEASE)

三、导入Maven项目

  • 方式一:File -> Project Structure -> Modules -> Import Module -> 选择 maven 项目的 pom.xml
  • 方式二:Maven 面板 -> +(Add Maven Projects) -> 选择 maven 项目的 pom.xml

导入 Maven 项目:

建议将要导入的 maven 项目复制到你的项目目录下

建议选择 maven 项目的 pom.xml 文件进行导入

四、依赖配置

  • 依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖。
  • 配置:
    1. 在 pom.xml 中编写 <dependencies> 标签
    2. <dependencies> 标签中 使用 <dependency> 引入坐标
    3. 定义坐标的 groupId, artifactId, version
    4. 点击刷新按钮,引入最新加入的坐标

访问:https://mvnrepository.com/ 找到对应的依赖

例如查找:spring-context

复制粘贴到pom.xml中,并点击右上角刷新(下载)

下载完成如图

可以看到上面下载了很多对应的依赖,这种情况就叫:依赖传递

五、排除依赖

排除依赖:指主动断开依赖的资源,被排除的资源无需指定版本。

使用<exclusions> </exclusions>

xml 复制代码
<!--  配置依赖  -->
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>6.1.4</version>

        <!-- 排除依赖 -->
        <exclusions>
            <exclusion>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-observation</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

注意事项:

  • 一旦依赖配置变更了,记得重新加载
  • 引入的依赖本地仓库不存在,记得联网

六、Maven生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。

Maven中有3套相互独立的生命周期:

  • clean:清理工作。
  • default:核心工作,如:编译、测试、打包、安装、部署等。
  • site:生成报告、发布站点等。

生命周期阶段

  • clean:移除上一次构建生成的文件
  • compile:编译项目源代码
  • test:使用合适的单元测试框架运行测试(junit)
  • package:将编译后的文件打包,如:jar、war等
  • install :安装项目到本地仓库

注意:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。

执行指定生命周期的两种方式:

  • 在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。
  • 在命令行中,通过命令执行。
相关推荐
承渊政道1 小时前
飞算Java炫技赛:Java×Unity数字孪生园区平台的从零落地记录
java·开发语言·unity·技术分享·vibe coding·飞算javaai·飞算java ai炫技赛
wdfk_prog7 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
卓怡学长7 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
这个DBA有点耶9 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_10 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky11 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
云云只是个程序马喽12 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
C137的本贾尼14 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
Flittly14 小时前
【AgentScope Java新手村系列】(19)多模态-图像音频视频
java·spring boot·spring
Javatutouhouduan14 小时前
国内大厂Java面试高频题库(2026突击版)
java·架构师·java面试·java面试题·后端开发·java程序员·java八股文