IntelliJ IDEA中Maven配置全指南


一、环境准备与基础配置

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/973909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第4章 信息系统架构(三)

4.3 应用架构 应用架构的主要内容是规划出目标应用分层分域架构&#xff0c;根据业务架构规划目标应用域、应用组和目标应用组件&#xff0c;形成目标应用架构逻辑视图和系统视图。从功能视角出发&#xff0c;阐述应用组件各自及应用架构整体上&#xff0c;如何实现组织的高阶…

Ubuntu 20.04源码安装opencv 4.5.0

安装依赖项 sudo apt install -y g sudo apt install -y cmake sudo apt install -y make sudo apt install -y wget unzip安装opencv依赖库 sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev l…

前端如何转战鸿蒙

前端如何转战鸿蒙系统 在当今技术日新月异的时代&#xff0c;前端开发者们不断探索新的领域和机会。随着鸿蒙系统的崛起&#xff0c;一个全新的生态正等待着前端开发者们去开拓。那么&#xff0c;作为前端开发者&#xff0c;我们为何要转战鸿蒙系统&#xff1f;又该如何顺利转型…

Linux(ubuntu) GPU CUDA 构建Docker镜像

一、创建Dockerfile FROM ubuntu:20.04#非交互式&#xff0c;以快速运行自动化任务或脚本&#xff0c;无需图形界面 ENV DEBIAN_FRONTENDnoninteractive# 安装基础工具 RUN apt-get update && apt-get install -y \curl \wget \git \build-essential \software-proper…

新能源汽车核心元件揭秘:二极管、三极管结构与工作原理解析(2/2)

上一节我们讲了二极管的原理, 原文章: https://zhuanlan.zhihu.com/p/25252117833 看了的朋友应该很容易懂这节课 这篇文章我们来说说三极管的工作原理啊 这里要说下几个概念 1 半导体的导通, 就是说里面的负电荷电子和正电荷空穴可以大量的从 一个地方达到我们想要的地方…

2024年数学SCI1区TOP:改进海洋捕食者算法MMPA用于UAV路径规划,深度解析+性能实测

目录 1.摘要2.海洋捕食者算法MPA原理3.改进策略4.结果展示5.参考文献6.获取代码 1.摘要 本文提出了一种改进海洋捕食者算法&#xff08;MMPA&#xff09;&#xff0c;用于解决具有多重威胁的复杂环境中的全局优化问题&#xff0c;针对无人机&#xff08;UAV&#xff09;路径规…

QML ToolButton与DelayButton的使用、详解与自定义样式

QML MenuBarItem与MenuItem的使用、详解与自定义样式 一、介绍1、ToolButton常见用法基础示例设置图标 常用属性texticonenabledshortcutcheckable & checked 信号onClickedonPressed 和 onReleased 样式和外观使用场景 2、DelayButton使用场景核心属性1. delay 核心信号1.…

Linux下基本指令(4)

Linux权限的概念 Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;、普通用户。 超级用户&#xff1a;可以再linux系统下做任何事情&#xff0c;不受限制 普通用户&#xff1a;在linux下做有限的事情。 超级用户的命令提示符是“#”&#xff0c;普通用户…

网络安全设备防护原理 网络安全防护装置

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 防火墙 简介 网络层的防护设备&#xff0c;依照特殊的规则允许或者限制传输的数据通过 是由软件和硬件设备组合而成&#xff0c;在内部网和外部网之间、专用网…

windwos与linux环境下Iperf3带宽测试工具的安装、使用

目录 一、前言 二、windows 2.1下载 2.2安装 2.3使用 2.3.1服务端 2.3.2客户端 2.3.3输出内容 1.客户端 2.服务端 2.4.相关命令 三、linux 3.1安装 3.2使用 1.服务端 2.客户端 3.输出内容 1.客户端 2.服务端 一、前言 在数字化浪潮下&#xff0c;网络性能…

达梦统计信息

统计信息 统计信息概述 统计信息是数据库中关于表和索引数据的元信息&#xff0c;用于描述数据的分布、唯一性、大小等特征。数据库优化器依赖统计信息来选择最优的执行计划。统计信息对于 CBO&#xff08;基于代价的优化器&#xff09;生成执行计划具有直接影响。 收集统计…

【面试系列】Java开发--AI常见面试题

1、实际工作或学习中用过哪些Ai工具 1.1、AI编程1.2、AI对话聊天1.3、AI图像工具1.4、AI办公工具 2、谈谈你知道的AI领域的一些常见词汇及其含义的理解&#xff1f; 例如AIGC、LLM、DeepLearning分别是什么意思&#xff1f; 2.1、AIGC&#xff08;Artificial Intelligence Gene…

一文讲解Redis为什么读写性能高以及I/O复用相关知识点

Redis为什么读写性能高呢&#xff1f; Redis 的速度⾮常快&#xff0c;单机的 Redis 就可以⽀撑每秒十几万的并发&#xff0c;性能是 MySQL 的⼏⼗倍。原因主要有⼏点&#xff1a; ①、基于内存的数据存储&#xff0c;Redis 将数据存储在内存当中&#xff0c;使得数据的读写操…

OnlyOffice:前端编辑器与后端API实现高效办公

OnlyOffice&#xff1a;前端编辑器与后端API实现高效办公 一、OnlyOffice概述二、前端编辑器&#xff1a;高效、灵活且易用1. 完善的编辑功能2. 实时协作支持3. 自动保存与版本管理4. 高度自定义的界面 三、后端API&#xff1a;管理文档、用户与权限1. 轻松集成与定制2. 实时协…

【opencv】图像基本操作

一.计算机眼中的图像 1.1 图像读取 cv2.IMREAD_COLOR&#xff1a;彩色图像 cv2.IMREAD_GRAYSCCALE&#xff1a;灰色图像 ①导包 import cv2 # opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np %matplotlib inline ②读取图像 img cv2.imread(…

fastadmin实现海报批量生成、邮件批量发送

记录一个海报批量生成、邮件批量发送功能开发&#xff0c;业务场景如下&#xff1a; 国外客户做观展预登记&#xff0c;工作人员通过后台&#xff0c;批量给这些观众生成入场证件并发送到观众登记的邮箱&#xff0c;以方便观众入场时快速进场。证件信息包含入场二维码、姓名&a…

3.Docker常用命令

1.Docker启动类命令 1.启动Docker systemctl start docker 2.停止Docker systemctl stop docker 3.重启Docker systemctl restart docker 4.查看Docker状态 systemctl status docker 5.设置开机自启(执行此命令后每次Linux重启后将自启动Docker) systemctl enable do…

1.21作业

1 unserialize3 当序列化字符串中属性个数大于实际属性个数时&#xff0c;不会执行反序列化 外部如果是unserialize&#xff08;&#xff09;会调用wakeup&#xff08;&#xff09;方法&#xff0c;输出“bad request”——构造url绕过wakeup 类型&#xff1a;public class&…

【Spring详解四】自定义标签的解析

四、自定义标签的解析 自定义标签的解析是通过 BeanDefinitionParserDelegate .parseCustomElement(ele)进行的&#xff0c;解析来我们进行详细分析。 DefaultBeanDefinitionDocumentReader.class 4.1 自定义标签的使用 扩展 Spring 自定义标签配置一般需要以下几个步骤&#x…

基于springboot校园健康系统的设计与实现(源码+文档)

大家好我是风歌&#xff0c;今天要和大家聊的是一款基于springboot的园健康系统的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于springboot校园健康系统的设计与实现的主要使用者管理员具有最高的权限&#xff0c;通…