文章目录
一. Maven功能
- jar包管理
- 项目构建
二. Maven安装
- 点击下载
- 解压
- 配置环境变量
M2_HOMEE:\AAstudy\maven\apache-maven-3.6.3
path追加%M2_HOME%\bin;
验证配置环境变量是否成功:win +R输入cmd,运行命令mvn -v查看maven版本号
三. Maven核心概念
3.1 目录结构
Project
|—src
|—|---main
|—|---|—java
|—|---|—resources
|—|---test
|—|---|—java
|—|---|—resources
|—pom.xml
3.2 pom.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.companyname.project-group</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<!--项目产生的构件类型,例如jar、war、ear、pom -->
<packaging>jar</packaging>
<!--项目开发者属性 -->
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
3.3 仓库
- 本地仓库
配置本地仓库:
修改~\apache-maven-3.6.3\conf\setting.xml
修改标签:<localRepository>E:\AAstudy\maven\maven_repo</localRepository>- 远程仓库
中央仓库、镜像、私服
3.4 坐标
<groupId>公司域名倒置</groupId>
<artifactId>项目名称</artifactId>
<version>版本</version>
3.5 依赖
<dependencies>
<dependency>
<groupId>com.companyname.common-lib</groupId>
<artifactId>common-lib</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
3.6 生命周期
| 阶段 | 描述 |
|---|---|
| 验证 | 验证项目是否正确且所有必须信息是可用的 |
| 编译 | 源代码编译在此阶段完成 |
| 测试 | 使用适当的单元测试框架(例如JUnit)运行测试 |
| 打包 | 创建JAR/WAR包如在 pom.xml 中定义提及的包 |
| 检查 | 对集成测试的结果进行检查,以保证质量达标 |
| 安装 | 安装打包的项目到本地仓库,以供其他项目使用 |
| 部署 | 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
3.7 插件
每个生命周期中都包含着一系列的阶段(phase)。这些 phase 就相当于 Maven 提供的统一的接口,然后这些 phase 的实现由 Maven 的插件来完成,Maven插件链接。
<build>
<plugins>
<plugin>
</plugin>
</plugins>
</build>
3.8 单元测试Junit
- 在pom.xml中加入Junit依赖
- 在src/test/java下,创建测试程序
最佳实践:
测试类的名称:Test + 被测试类名
测试方法的名称: test + 被测试方法名
// 被测试类
package com.yuntong;
public class HelloMaven{
public int add(int n1, int n2){
return n1 + n2;
}
public static void main(String args[]){
HelloMaven hello = new HelloMaven();
int res = hello.add(10, 20);
System.out.println(res);
}
}
// 单元测试类
package com.yuntong;
import org.junit.Assert;
import org.junit.Test;
public class TestHelloMaven{
@Test
public void testAdd(){
System.out.println("==maven Junit testAdd()==");
HelloMaven hello = new HelloMaven();
int re = hello.add(10, 20);
Assert.assertEquals(30, re); // 期望值、实际值
}
}
四. Maven使用
4.1 命令行方式
maven常用命令
mvn -v查看maven版本
mvn clean清理编译文件
mvn compile编译源代码
mvn test-compile编译测试代码
mvn test执行测试
mvn package打包
mvn install将项目安装到本地仓库
4.2 IDEA中设置Maven
配置Maven
创建JavaSE工程
创建Web工程
本文详细介绍了Maven的功能,包括jar包管理和项目构建,并提供了Maven的安装步骤。接着,文章深入讲解了Maven的核心概念,如目录结构、pom.xml配置、仓库管理、坐标、依赖、生命周期、插件以及单元测试。通过实例展示了如何使用Maven进行命令行操作及在IDEA中的配置,帮助读者全面理解并掌握Maven的使用。




1万+

被折叠的 条评论
为什么被折叠?



