IntelliJ IDEA中Maven配置全指南

news/2025/2/22 21:00:44

一、环境准备与基础配置

1.1 Windows 环境下载并配置 Maven

见此篇博文:环境配置

1.2 IDEA配置步骤

  1. 打开设置面板:File → Settings → Build → Build Tools → Maven

  2. 关键配置项:

    Maven home path = E:\apache-maven-3.9.9 (本地安装路径)
    User settings file = 自定义settings.xml路径(建议配置阿里云镜像)
    Local repository = 本地仓库路径(默认~/.m2/repository)
    

在这里插入图片描述


二、依赖管理实战技巧

2.1 创建 Maven 项目

  1. 创建一个空工程

    在这里插入图片描述

  2. 创建模块,选择Java语言,选择Maven。 填写模块的基本信息

    在这里插入图片描述

  3. 创建项目,Maven 目录结构

    maven-project
    
            |---  src  (源代码目录和测试代码目录)
    
                  |---  main (源代码目录)
    
                  		|--- java (源代码java文件目录)
    
                        |--- resources (源代码配置文件目录)
    
                  |---  test (测试代码目录)
    
                        |--- java (测试代码java目录)
    
                        |--- resources (测试代码配置文件目录)
    
            |--- target (编译、打包生成文件存放目录)
    

2.2 pom.xml结构解析

<!-- 典型依赖配置示例 -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>4.0.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

2.3 依赖范围对照表

Scope编译测试运行典型用例
compile✔️✔️✔️核心依赖(如Spring)
test✖️✔️✖️测试框架(JUnit)
provided✔️✔️✖️容器提供(如Servlet)
runtime✖️✔️✔️JDBC驱动

2.4 依赖冲突解决方案

  • 查看依赖树:mvn dependency:tree
  • IDEA可视化工具:右侧Maven面板 → 点击项目 → Show Dependencies

三、实例项目

一个包含前端基础(HTML + CSS + JS + Vue + Ajax)与后端 Web 基础的学习笔记,旨在帮助学习者通过示例代码和模块化结构深入理解 Web 开发的各个方面。项目适合初学者入门学习,也可以作为后续实际工作中的参考笔记

  • github:https://github.com/AlivinFer/JavaWebLearning.git
  • 见 day03-Maven 模块

四、生命周期深度解析

4.1 核心生命周期阶段

clean
validate
compile
test
package
install
deploy

4.2 常用命令组合

  • 快速打包:mvn clean package -DskipTests
  • 部署到本地仓库:mvn clean install
  • 跳过代码检查:mvn verify -Dcheckstyle.skip=true

五、高效开发最佳实践

  1. 镜像加速配置(修改settings.xml):

    <mirror>
      <id>aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云镜像</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    
  2. 多模块管理技巧

    parent-project/
    ├── pom.xml(聚合pom)
    ├── module-core/
    │   └── pom.xml
    └── module-web/
        └── pom.xml
    
  3. 版本管理策略

    <properties>
      <spring.version>6.0.0</spring.version>
    </properties>
    
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    

六、常见问题排查

6.1 依赖下载失败

  • 检查镜像配置
  • 删除本地仓库残留文件:mvn dependency:purge-local-repository
  • 强制更新快照版本:mvn -U clean install

5.2 构建卡顿

  • 并行构建:mvn -T 1C clean install(使用与CPU核心数相同的线程)
  • 跳过测试:-DskipTests=true

http://www.niftyadmin.cn/n/5862756.html

相关文章

黑马点评_登录模块

/*** 发送验证码*/Overridepublic Result sendCode(String phone, HttpSession session) {// 1、判断手机号是否合法if (RegexUtils.isPhoneInvalid(phone)) {return Result.fail("手机号格式不正确");}// 2、手机号合法&#xff0c;生成验证码&#xff0c;并保存到S…

Tesseract OCR使用

1. 准备tif图片 可以使用 Tesseract 自带的 text2image 工具来生成图像可以使用jTessBoxEditor将图片生成tif文件 tif命名规则&#xff1a;[lang].[fontname].exp[num].tif lang 语言fontname 字体num 图片序号 比如我们要训练自定义字库 testlang、字体名normal&#x…

请解释 Vue 中的生命周期钩子,不同阶段触发的钩子函数及其用途是什么?

vue生命周期钩子详解&#xff08;Vue 3版本&#xff09; 一、生命周期阶段划分 Vue组件的生命周期可分为四大阶段&#xff0c;每个阶段对应特定钩子函数&#xff1a; 创建阶段&#xff1a;初始化实例并准备数据挂载阶段&#xff1a;将虚拟DOM渲染为真实DOM更新阶段&#xff…

【mysql共享锁与排他锁】

MySQL共享锁&#xff08;Shared Lock&#xff09;与排他锁&#xff08;Exclusive Lock&#xff09;总结 1. 基本概念 共享锁&#xff08;S锁&#xff09; 作用&#xff1a;用于读取操作&#xff08;读锁&#xff09;。特点&#xff1a;允许多个事务同时持有共享锁&#xff0c;…

如何保证bug在改完之后不会引起新bug

一、测试前&#xff1a;影响范围分析 代码关联分析&#xff1a;依据开发代码关联性检查获取改动信息&#xff0c;聚焦影响范围&#xff0c;明确代码改动影响的业务功能、是否涉及公共组件或接口&#xff0c;检查 Swagger 文档更新情况。若开发无法明确影响范围&#xff0c;在测…

算法-哈希表篇08-四数之和

四数之和 力扣题目链接 题目描述 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&…

Python 循环中的隐藏宝藏:Else 子句深度剖析

在 Python 编程里&#xff0c;循环结构是基础且高频使用的部分&#xff0c;不过其中的 else 子句却常被大家忽略。本文将深入、全面地解析 Python 循环中 else 子句的工作原理、使用方法&#xff0c;通过丰富的代码示例、直观的图表&#xff0c;以及与其他相关知识点的对比&…

简讯:Rust 2024 edition and v1.85.0 已发布

详见 https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html 升级方法&#xff1a;rustup update stable