一、前置条件:JDK 安装 & 环境变量
- 安装 JDK
建议至少 JDK 8+,比如:D:\Software\Java\Java8\- 或
D:\Software\Java\Java11\
- 配置环境变量 (系统环境变量)
- 新建 / 修改
JAVA_HOME:
- 新建 / 修改
text
JAVA_HOME = D:\Software\Java\Java11
- 在 `Path` 中追加:
text
%JAVA_HOME%\bin
- 验证
打开命令行(cmd 或 PowerShell):
bash
java -version
能正常显示版本,就 OK。
二、安装 Maven(以 Windows 为例)
1. 下载 Maven
到官网或镜像站(Apache / 阿里云镜像)下载 二进制包,例如:
apache-maven-3.8.8-bin.zipapache-maven-3.9.x-bin.zip
一般公司里会固定版本,比如 3.8.8 或 3.9.9,避免每台机器不一样。
2. 解压
解压到你习惯的位置,例如:
text
D:\Software\apache-maven-3.8.8
解压后目录一般是:
text
D:\Software\apache-maven-3.8.8\
├── bin\
├── conf\
├── lib\
└── ...
3. 配置环境变量
在「系统环境变量」里添加:
-
MAVEN_HOME 或 M2_HOME (二选一即可,很多老项目叫
M2_HOME):textMAVEN_HOME = D:\Software\apache-maven-3.8.8 -
在
Path中追加:text%MAVEN_HOME%\bin
4. 验证 Maven 是否安装成功
打开新的命令行窗口(必须新开一次):
bash
mvn -v
正常输出类似:
text
Apache Maven 3.8.8 (...)
Java version: 11.0.x, vendor: Oracle Corporation
说明 Maven 安装完成。
三、配置 Maven:本地仓库 & 镜像 & 私服
Maven 的配置文件在:
text
%MAVEN_HOME%\conf\settings.xml
不建议改
pom.xml里全局的东西,全局配置放settings.xml,项目配置放pom.xml。
1. 配置本地仓库(localRepository)
你之前已经用过类似路径,我直接用你的习惯示例:
xml
<settings ...>
<!-- 放在最前面也可以 -->
<localRepository>E:\Maven\MavenRepository</localRepository>
...
</settings>
这样所有 jar 都会下载到:
text
E:\Maven\MavenRepository\
好处:可以放到大盘 / 固态盘上,便于备份和迁移。
2. 配置国内镜像(比如阿里云)
在 settings.xml 的 <mirrors> 中添加(如果没有 <mirrors> 就新建一个):
xml
<mirrors>
<!-- 只镜像 central 仓库 -->
<mirror>
<id>aliyun-central</id>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
解释:
mirrorOf写central:只替代中央仓库,不影响你公司私服。- 如果你还有公司私服,就不要写成
*,避免把私服也镜像掉。
3. 配置私服账号(Nexus / Artifactory)
如果公司有私服(比如 http://nexus.xxx.com/repository/maven-releases),需要在 settings.xml 里配置账号:
xml
<servers>
<server>
<id>xc-releases</id>
<username>admin</username>
<password>xc123456</password>
</server>
<server>
<id>xc-snapshots</id>
<username>admin</username>
<password>xc123456</password>
</server>
</servers>
这里的
<id>要和pom.xml里<distributionManagement>或<repository>里的<id>一致,Maven 才会拿到对应的账号密码。
四、快速上手:创建一个 Maven 项目
方式一:命令行创建(适合做 Demo)
在某个空目录里执行:
bash
mvn archetype:generate ^
-DgroupId=com.example.demo ^
-DartifactId=maven-demo ^
-DarchetypeArtifactId=maven-archetype-quickstart ^
-DarchetypeVersion=1.4 ^
-DinteractiveMode=false
执行完,会生成目录结构:
text
maven-demo
├── pom.xml
└── src
├── main
│ └── java
│ └── com/example/demo/App.java
└── test
└── java
└── com/example/demo/AppTest.java
方式二:在 IDEA 中创建 Maven 项目(更常用)
- New Project → 选择 Maven
- 填写:
- GroupId:
com.example - ArtifactId:
maven-demo - Version:
1.0.0-SNAPSHOT
- GroupId:
- 选择 Project SDK(JDK 8/11)
- 完成后 IDEA 自动生成
pom.xml和标准目录结构。
五、理解 pom.xml 的基本结构
一个最小可用的 pom.xml:
xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 项目坐标(全局唯一) -->
<groupId>com.example</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>maven-demo</name>
<!-- 依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.0.4</version>
</dependency>
</dependencies>
</project>
关键点:
groupId + artifactId + version= jar 的唯一身份<dependencies>里写你要用的库,Maven 自动下载
六、Maven 常用命令(你日常 90% 情况就靠这些)
在项目根目录(有 pom.xml 的地方)执行:
bash
# 1. 清理编译结果(删 target)
mvn clean
# 2. 编译
mvn compile
# 3. 运行测试
mvn test
# 4. 打包(生成 jar / war)
mvn package
# 5. 安装到本地仓库(E:\Maven\MavenRepository)
mvn install
# 6. 发布到私服(需要配置 distributionManagement)
mvn deploy
# 7. 查看依赖树(排查冲突)
mvn dependency:tree
# 8. 强制更新所有 Snapshot
mvn clean install -U
常见组合用法:
bash
# 开发期:清理 + 编译 + 打包 + 安装
mvn clean install
# CI 中比较常见
mvn -U clean package
七、在 IDEA 中使用 Maven(和项目关联)
1. 让 IDEA 使用你本地安装的 Maven
IDEA → Settings → Build, Execution, Deployment → Build Tools → Maven:
-
Maven home directory:
指向你的本地 Maven,例如:
D:\Software\apache-maven-3.8.8 -
User settings file:
指向你的
settings.xml:
D:\Software\apache-maven-3.8.8\conf\settings.xml(或者你自己拷贝到
C:\Users\xxx\.m2\settings.xml) -
Local repository:
IDEA 会自动从
settings.xml读取;若未指定,可以在这里填:
E:\Maven\MavenRepository
2. 导入已有 Maven 工程
-
File → Open→ 选择含pom.xml的目录 → IDEA 会识别为 Maven 项目 -
右侧 Maven 工具窗口可以:
- 重新加载项目
- 执行
clean,compile,package等命令 - 看到模块、生命周期、插件
八、多模块 Maven 工程简单示例(你以后大型项目肯定会用)
结构示例:
text
maven-parent
├── maven-common
├── maven-service
└── maven-web
父工程 pom.xml (打成 pom):
xml
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>maven-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>maven-common</module>
<module>maven-service</module>
<module>maven-web</module>
</modules>
<!-- 统一依赖版本、插件 -->
</project>
子模块 maven-service/pom.xml:
xml
<project>
<parent>
<groupId>com.example</groupId>
<artifactId>maven-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>maven-service</artifactId>
<!-- 子模块自己的依赖 -->
</project>
在父工程目录执行:
bash
mvn clean install
会按顺序构建所有子模块。
九、常见问题 & 快速排查思路
1. 提示:No compiler is provided in this environment
- 原因:你只装了 JRE,没有 JDK,或
JAVA_HOME指到了 JRE - 解决:
- 安装 JDK
JAVA_HOME指向.../jdkX,不是jre
2. 提示:Could not resolve artifact ... / 下载依赖失败
排查顺序:
-
先
ping一下外网(或私服地址):- 是否能访问
-
检查
settings.xml:mirrors是否只镜像了central- 私服
<repository>地址是否写错
-
强制更新:
bashmvn -U clean install
3. 构建报错但信息很多,看不清原因
可以加上:
bash
mvn clean install -X
或在 IDEA Maven 窗口中勾选 --errors / --debug,找到第一个真正的异常栈。
4. 版本冲突(比如 log4j 出了两个版本)
用:
bash
mvn dependency:tree
找到谁引入了哪个版本,然后在 pom.xml 用 <dependencyManagement> 或 <exclusions> 控制版本。
十、你可以这样建立自己的 Maven 使用习惯
给你一个「日常流程模板」,你按这个用基本不会乱:
-
开始一个新项目时:
- IDEA 新建 Maven 项目 → 填 groupId/artifactId
- 在
pom.xml里加依赖 - 确认
settings.xml指向你自己的本地仓库和镜像
-
改完代码准备打包时:
bash
mvn clean package
- 需要给其他项目引用此 jar 时:
bash
mvn clean install
然后在另一个项目的 pom.xml 加上依赖即可。
- 需要发布到公司私服时:
settings.xml中配置好<servers>pom.xml中配置<distributionManagement>- 执行:
bash
mvn clean deploy