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工具栏,选中对应的生命周期,双击执行。
  • 在命令行中,通过命令执行。
相关推荐
小强库计算机毕业设计12 分钟前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
霸道流氓气质21 分钟前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
怪奇云呼军23 分钟前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
编程令我快乐31 分钟前
maven部分构建参数讲解
java·maven
ZC跨境爬虫37 分钟前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode
kisbad1 小时前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript
憧憬成为java架构高手的小白1 小时前
langchain4j框架学习
java
0x532 小时前
Java网络编程(四)
java·网络
ly76892 小时前
Java 设计模式详解:从原则到 23 种经典模式
java·开发语言·设计模式
萧瑟余晖2 小时前
Java深入解析篇三十之Java日志框架
java·开发语言