当前位置: 首页 > ops >正文

[架构之美]IntelliJ IDEA创建Maven项目全流程(十四)

[架构之美]IntelliJ IDEA创建Maven项目全流程(十四)

摘要:本文将通过图文结合的方式,详细讲解如何使用IntelliJ IDEA快速创建Maven项目,涵盖环境配置、项目初始化、依赖管理及常见问题解决方案。适用于Java开发新手及需要快速上手的开发者。

一、环境准备

1.1 所需软件

  • JDK 8+(推荐JDK 11/17)
  • IntelliJ IDEA 2021.3+(社区版/旗舰版均可)

1.2 验证环境

# 检查Java版本
java -version# 检查Maven(IDEA内置无需单独安装)
mvn -v

在这里插入图片描述
在这里插入图片描述

二、创建Maven项目(6步图解)

步骤1:打开IDEA创建新项目

  1. 启动IDEA → 点击 New Project

  2. 选择左侧 Maven → 点击 Next直至项目创建成功

    在这里插入图片描述

步骤2:配置项目信息

GroupId: com.example    # 组织标识(如公司域名倒写)
ArtifactId: demo        # 项目名称
Version: 1.0-SNAPSHOT   # 默认版本号

在这里插入图片描述

步骤3:选择项目存储位置

指定项目存放目录(建议路径不要包含中文/空格)

创建时选择项目位置:

在这里插入图片描述

步骤4:设置Maven路径

  • 指定本地安装的Maven路径

在这里插入图片描述
在这里插入图片描述

步骤5:等待初始化完成

首次创建时会自动下载依赖(观察底部进度条)

步骤6:查看项目结构

生成的标准目录结构:

src
├── main
│   ├── java         # 源代码目录
│   └── resources    # 资源文件目录
└── test├── java         # 测试代码目录
pom.xml              # Maven核心配置文件

三、配置Maven优化设置

3.1 修改镜像源(加速依赖下载)

本地安装好maven后可打开 conf/settings.xml,添加阿里云镜像:

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

四、编写与测试代码

4.1 创建示例类

src/main/java 新建 HelloWorld.java

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello Maven!");}
}

4.2 添加依赖示例(以JUnit 5为例)

修改 pom.xml

<dependencies><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.9.2</version><scope>test</scope></dependency>
</dependencies>

4.3 运行项目

  1. 右键点击 HelloWorld.java
  2. 选择 Run ‘HelloWorld.main()’

在这里插入图片描述

五、常见问题解答(Q&A)

Q1:依赖下载失败怎么办?

  • 检查网络连接
  • 确认镜像源配置正确
  • 执行 mvn clean install -U

Q2:插件版本冲突如何解决?

  • pom.xml 中指定明确版本号
  • 使用 mvn dependency:tree 分析依赖树

Q3:目录结构不符合规范?

  • 手动创建缺失目录
  • 右键目录 → Mark Directory as 设置类型

六、总结

通过本文,您已经掌握了:

  • Maven项目的创建流程
  • 依赖管理配置技巧
  • 常见问题的排查方法

TIP:建议定期执行 mvn clean install 保持项目健康状态,关注Maven中央仓库的版本更新。

希望本教程对您有帮助,请点赞❤️收藏⭐关注支持!欢迎在评论区留言交流技术细节!

http://www.xdnf.cn/news/5185.html

相关文章:

  • 玩转Docker | 使用Docker部署DailyTxT日记工具
  • C语言文件流
  • 局域网常用的测速工具,Iperf3使用教程
  • QTableWidget实现多级表头、表头冻结效果
  • leetcode 349. Intersection of Two Arrays
  • 独立按键控制LED
  • [杂谈随感-13]: 人的睡眠,如何布置床的位置比较有安全?感?
  • HashMap中put()方法的执行流程
  • Python数据分析案例74——基于内容的深度学习推荐系统(电影推荐)
  • libwebsockets:高性能跨平台WebSocket库实践指南
  • C++——继承
  • 线程安全 1_线程安全
  • Ubuntu22.04怎么退出Emergency Mode(紧急模式)
  • Python环境搭建指南
  • 【redis 初阶】linux 上安装 redis
  • 电池的寿命(不清楚是什么类型/虽然有标明是贪心)
  • NVMe控制器IP设计之接口模块
  • 机器学习 day02
  • PD快充诱骗协议芯片XSP04D与主板共用一个Type-C和电脑传输数据
  • 关于Spring
  • 小刚说C语言刷题—1078求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值
  • 巡检机器人数据处理技术的创新与实践
  • 【Redis】string
  • Git 时光机:修改Commit信息
  • Java零组件实现配置热更新
  • gitkraken 使用教程
  • ai agent(智能体)开发 python3基础14:在python 中 总能看到方法里面套方法,那什么时候用这种方式合适呢?
  • Python常见面试题
  • LWIP的IP协议笔记
  • 通俗的理解MFC消息机制