文章目录
- 一、Maven简介
- 1.1 什么是依赖管理
- 1.2 什么是项目构建
- 1.3 Maven的核心概念
- 二、下载、安装、配置
- 2.1 下载
- 2.2 安装
- 2.3 配置maven的环境变量
- 2.4 Maven 软件版本测试
- 三、Maven 仓库
- 3.1. Maven的仓库分类
- 3.2 Maven 本地仓库的配置
- 3.3 配置阿里云远程仓库
- 3.4 profile配置
- 四、maven常见的命令
一、Maven简介
Maven是一个基于Java的项目管理和构建工具。它可以帮助开发人员自动化构建、测试、打包和部署项目,并管理项目依赖关系。Maven提供了一个中央仓库来管理Java库和框架,并能够生成项目文档和报告。Maven使用XML文件来描述和配置项目,它支持插件和扩展,可以与常用的IDE(如Eclipse、IntelliJ IDEA等)集成使用。Maven的目标是提供一种统一的构建方式,帮助开发人员更高效地管理和构建项目,从而达到项目规范、提高开发效率、促进团队协作等目的。
所用:
- 依赖管理
- 项目构建
1.1 什么是依赖管理
项目依赖junit的实验
创建java project
增加junit测试类库
依赖junit类库
测试代码
public class Main {
public static void main(String[] args) {
// System.out.println("Hello world!");
new Main().test2();
}
@Test
public void test1() {
System.out.println("test1");
}
@Test
public void test2() {
System.out.println("test2");
}
}
maven进行依赖管理
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>compile</scope>
</dependency>
1.2 什么是项目构建
- 清理:删除以前的编译结果,为重新编译做好准备。
- 编译:将 Java 源程序编译为字节码文件。
- 测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
- 报告:在每一次测试后以标准的格式记录和展示测试结果。
- 打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。 Java 工程对应 jar 包, Web工程对应 war 包。
- 安装:在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。
- 部署:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。
创建的构建工具
- ant
- maven
- Gradle
1.3 Maven的核心概念
Maven 能够实现自动化构建是和它的内部原理分不开的, 这里我们从 Maven 的九个核心概念入手,看看 Maven 是如何实现自动化构建的
- POM
- 约定的目录结构
- 坐标
- 依赖管理
- 仓库管理
- 生命周期
- 插件和目标
- 继承
二、下载、安装、配置
2.1 下载
我们首先要到官网去下载它。
http://maven.apache.org/download.cgi
2.2 安装
Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如:D:\java 下面。 解压后目录结构如下:
- bin:存放了 maven 的命令
- boot:存放了一些 maven 本身的引导程序,如类加载器等
- conf:存放了 maven 的一些配置文件,如 setting.xml 文件
- lib:存放了 maven 本身运行所需的一些 jar 包
2.3 配置maven的环境变量
(1)配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin) 目录之前一级目录
(2) 将MAVEN_HOME 添加到Path系统变量
2.4 Maven 软件版本测试
win+R 打开dos窗口,通过 mvn -v命令检查 maven 是否安装成功,看到 maven 的版本为 3.9.3 及 java 版本为 jdk1.8即为安装 成功。 打开命令行,输入 mvn –v命令
C:\Users\Bandits>mvn -v
Apache Maven 3.9.3 (21122926829f1ead511c958d89bd2f672198ae9f)
Maven home: D:\Maven\apache-maven-3.9.3
Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: D:\Java\jdk1.8.0_131\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
三、Maven 仓库
- Maven中的仓库是用来存放maven构建的项目和各种依赖的(Jar包)。
3.1. Maven的仓库分类
- 本地仓库: 位于自己计算机中的仓库, 用来存储从远程仓库或中央仓库下载的插件和 jar 包,
- 远程仓库: 需要联网才可以使用的仓库,阿里提供了一个免费的maven 远程仓库。
- 中央仓库: 在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中 央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包 含了世界上大部分流行的开源项目构件
3.2 Maven 本地仓库的配置
本地仓库默认的路径
- linux:~/.m2/repository
- windows:c:\Users\Administrator.m2\repository\
<localRepository>d:\java\mvn_repo</localRepository>
3.3 配置阿里云远程仓库
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
3.4 profile配置
配置maven项目的默认的JDK版本,比如所有指定maven项目采用jdk1.8
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
四、maven常见的命令
- mvn compile:编译
- 编译程序,在target中编译成.class
- mvn clean:清理
- 删除target,清理输出目录
- mvn test:执行测试计划
- 执行测试,注意测试失败,不能打包
- mvn package:打包
- 打包成jar文件,输出到target
- mvn install :部署
- 部署jar文件,部署到本地仓库
- mvn deploy
- 部署jar包,部署到远程仓库
- mvn clean install:清理,部署
- 先清理,然后部署
- mvn clean install -Dmaven.test.skip=true
- 忽略测试,直接部署