java maven 工具初步使用(maven javax)
安装与配置
- 下载 Maven
访问官网 https://maven.apache.org 下载最新版,解压到本地目录(如 C:\maven)。 - 配置环境变量
添加以下环境变量: - M2_HOME: Maven 安装目录(如 C:\maven)
- PATH: 追加 %M2_HOME%\bin
- 验证安装
终端输入 mvn -v,显示版本信息即成功。
2. 创建项目
# 使用原型(archetype)生成项目骨架
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
生成标准目录结构:
my-app
├── src
│ ├── main/java # 主代码
│ └── test/java # 测试代码
└── pom.xml # 项目核心配置文件
3. 理解 POM 文件
pom.xml 是 Maven 的核心配置文件,关键元素:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId> <!-- 组织标识 -->
<artifactId>my-app</artifactId> <!-- 项目名 -->
<version>1.0-SNAPSHOT</version> <!-- 版本号 -->
<dependencies>
<!-- 示例:添加 JUnit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope> <!-- 仅测试阶段有效 -->
</dependency>
</dependencies>
</project>
4. 依赖管理
- 搜索依赖
在 Maven Central 查找所需库的 <groupId>, <artifactId>, <version>。 - 添加依赖
将依赖信息复制到 pom.xml 的 <dependencies> 标签内,Maven 会自动从远程仓库下载。
5. 常用命令
命令 | 作用 |
mvn clean | 清理 target 目录 |
mvn compile | 编译主代码 |
mvn test | 运行测试 |
mvn package | 打包项目(生成 JAR/WAR) |
mvn install | 将包安装到本地仓库 |
mvn deploy | 部署到远程仓库(需配置) |
mvn dependency:tree | 分析依赖树,解决版本冲突 |
6. 构建生命周期
Maven 生命周期分为三套:
- Clean: 清理项目
- Default (Build): 编译、测试、打包、部署
- Site: 生成项目文档
常用阶段顺序:
validate → compile → test → package → verify → install → deploy
7. 配置优化
- 镜像仓库加速
修改 settings.xml(位于 conf/ 目录),添加阿里云镜像:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云镜像</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
- 指定 JDK 版本
在 pom.xml 中配置编译插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
8. 多模块项目
使用 <modules> 管理多个子项目:
<!-- 父 pom.xml -->
<project>
<groupId>com.example</groupId>
<artifactId>parent-project</artifactId>
<version>1.0</version>
<packaging>pom</packaging> <!-- 父项目必须为 pom 类型 -->
<modules>
<module>module1</module>
<module>module2</module>
</modules>
</project>
常见问题
- 依赖下载失败
- 检查网络连接,确认镜像配置正确。
- 删除本地仓库中对应的依赖目录(默认在 ~/.m2/repository),重新下载。
- 版本冲突
使用 mvn dependency:tree 查看依赖树,手动排除冲突依赖:
<dependency>
<groupId>冲突库的groupId</groupId>
<artifactId>冲突库的artifactId</artifactId>
<exclusions>
<exclusion>
<groupId>被排除的groupId</groupId>
<artifactId>被排除的artifactId</artifactId>
</exclusion>
</exclusions>
</dependency>