Maven的安装使用


一、前置条件:JDK 安装 & 环境变量

  1. 安装 JDK
    建议至少 JDK 8+,比如:
    • D:\Software\Java\Java8\
    • D:\Software\Java\Java11\
  2. 配置环境变量 (系统环境变量)
    • 新建 / 修改 JAVA_HOME
text 复制代码
JAVA_HOME = D:\Software\Java\Java11
复制代码
- 在 `Path` 中追加:
text 复制代码
%JAVA_HOME%\bin
  1. 验证

打开命令行(cmd 或 PowerShell):

bash 复制代码
java -version

能正常显示版本,就 OK。


二、安装 Maven(以 Windows 为例)

1. 下载 Maven

到官网或镜像站(Apache / 阿里云镜像)下载 二进制包,例如:

  • apache-maven-3.8.8-bin.zip
  • apache-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. 配置环境变量

在「系统环境变量」里添加:

  1. MAVEN_HOME 或 M2_HOME (二选一即可,很多老项目叫 M2_HOME):

    text 复制代码
    MAVEN_HOME = D:\Software\apache-maven-3.8.8
  2. 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>

解释:

  • mirrorOfcentral:只替代中央仓库,不影响你公司私服。
  • 如果你还有公司私服,就不要写成 *,避免把私服也镜像掉。

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 项目(更常用)

  1. New Project → 选择 Maven
  2. 填写:
    • GroupId:com.example
    • ArtifactId:maven-demo
    • Version:1.0.0-SNAPSHOT
  3. 选择 Project SDK(JDK 8/11)
  4. 完成后 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 → SettingsBuild, Execution, DeploymentBuild ToolsMaven

  • 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 ... / 下载依赖失败

排查顺序:

  1. ping 一下外网(或私服地址):

    • 是否能访问
  2. 检查 settings.xml

    • mirrors 是否只镜像了 central
    • 私服 <repository> 地址是否写错
  3. 强制更新:

    bash 复制代码
    mvn -U clean install

3. 构建报错但信息很多,看不清原因

可以加上:

bash 复制代码
mvn clean install -X

或在 IDEA Maven 窗口中勾选 --errors / --debug,找到第一个真正的异常栈。


4. 版本冲突(比如 log4j 出了两个版本)

用:

bash 复制代码
mvn dependency:tree

找到谁引入了哪个版本,然后在 pom.xml<dependencyManagement><exclusions> 控制版本。


十、你可以这样建立自己的 Maven 使用习惯

给你一个「日常流程模板」,你按这个用基本不会乱:

  1. 开始一个新项目时:

    • IDEA 新建 Maven 项目 → 填 groupId/artifactId
    • pom.xml 里加依赖
    • 确认 settings.xml 指向你自己的本地仓库和镜像
  2. 改完代码准备打包时:

bash 复制代码
mvn clean package
  1. 需要给其他项目引用此 jar 时:
bash 复制代码
mvn clean install

然后在另一个项目的 pom.xml 加上依赖即可。

  1. 需要发布到公司私服时:
  • settings.xml 中配置好 <servers>
  • pom.xml 中配置 <distributionManagement>
  • 执行:
bash 复制代码
mvn clean deploy

相关推荐
Coder_Boy_1 小时前
基于SpringAI企业级智能教学考试平台考试模块全业务闭环方案
java·人工智能·spring boot·aiops
微爱帮监所写信寄信1 小时前
微爱帮监狱寄信写信小程序信件内容实时保存技术方案
java·服务器·开发语言·前端·小程序
沛沛老爹1 小时前
Web开发者实战A2A智能体交互协议:从Web API到AI Agent通信新范式
java·前端·人工智能·云原生·aigc·交互·发展趋势
shizhenshide1 小时前
物联网(IoT)设备如何应对验证码?探讨无头浏览器与协议级解决方案
java·struts·microsoft·验证码·ezcaptcha
七夜zippoe1 小时前
响应式编程基石 Project Reactor源码解读
java·spring·flux·响应式编程·mono·订阅机制
独自归家的兔1 小时前
基于 豆包大模型 Doubao-Seed-1.6-thinking 的前后端分离项目 - 图文问答(后端)
java·人工智能·豆包
IT 行者1 小时前
Spring Framework 6.x 异常国际化完全指南:让错误信息“说“多国语言
java·后端·spring·异常处理·problemdetail·国际化i18n
ss2731 小时前
CompletionService:Java并发工具包
java·开发语言·算法
晓13132 小时前
后端篇——第一章 Maven基础全面教程
java·maven
二进制_博客2 小时前
JWT权限认证快速入门
java·开发语言·jwt