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 小时前
Spring Security + JWT 面试题整理
java·jwt·springsecurity
spencer_tseng3 小时前
Redis + Nacos.bat
java·windows·dos
troyzhxu4 小时前
列表查询的 GraphQL —— 一行代码终结你的 if-else 地狱!
java·springboot·graphql
孫治AllenSun5 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
好好沉淀6 小时前
@NotBlank(message = “{xxx}“) 注解中花括号的含义
java
fīɡЙtīиɡ ℡6 小时前
内存泄漏产生的原因
java·spring·servlet
hkj88086 小时前
Ubuntu 切换java版本
java·linux·ubuntu
码智社7 小时前
Java实现RSA密钥生成、加密解密、加签验签
java
wear工程师7 小时前
ThreadLocal 在线程池里为什么会串数据:别只会答内存泄漏
java·后端