Maven教程
Maven是什么?
Maven是基于项目对象模型(POM 【project object model】),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。主要服务于基于 Java 平台的项目构建,依赖管理和项目信息管理。
Maven 的核心功能便是合理叙述项目间的依赖关系,通俗点讲就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,就是更简单的往项目里添加jar包。
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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 模块版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 项目报名,一般是公司域名倒置 -->
<groupId>com.yu.demo</groupId>
<!-- 项目名,也是项目唯一ID,一个groupId下面可能有多个项目,靠artifactId区分 -->
<artifactId>demo-hello</artifactId>
<!-- 本项目目前所处的版本号 -->
<version>0.0.1-SNAPSHOT</version>
<!-- 将创建Maven后默认的jdk1.5改成jdk1.8 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<!-- 定义本项目的依赖关系 -->
<dependencies>
<!-- 每个dependency都对应这一个jar包 -->
<dependency>
<!--一般情况下,maven是通过groupId、artifactId、version这三个元素
(俗称坐标)来检索该构件, 然后引入你的工程。如果别人想引用你现在开发的这个项目
(前提是已开发完毕并发布到了远程仓库),就需要在他的pom文件中新建一个dependency节点,
将本项目的groupId、artifactId、version写入, maven就会把你上传的jar包下载到他的本地 -->
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
仓库是什么?
通过pom.xml 中的配置,就能够获取到想要的jar包,但是这些jar包是在哪里呢?就是我们该从哪里获取这些jar包呢?
答案就是仓库
仓库分为:本地仓库,第三方仓库(私服),中央仓库
本地仓库:一般我们会修改本地仓库位置,自己创建一个文件夹,在从网上下载一个
拥有相对完整的所有 jar 包的仓库,都丢到本地仓库中,然后每次写项
目,直接从本地仓库里拿就行了
修改本地库位置:在$MAVEN_HOME/conf/setting.xml 文件中修改,
第三方仓库
第三方仓库,又称为私服。
私服:一般是由公司自己设立的,只为本公司内部共享使用。
中央仓库
中央仓库位置:https://mvnrepository.com/
这个公共仓库是由 Maven 自己维护,里面有大量的常用类库,并包含
了世界上大部分流行的开源项目构件。目前是以 java 为主
项目构建
项目构建过程包括 【清理项目】 → 【编译项目】 → 【测试项目】 → 【生成测试报告】 → 【打包项目】 → 【部署项目】 这几个步骤,这六个步骤就是一个项目的完整构建过程。
理想的项目构建是高度自动化,跨平台,可重用的组件,标准化 的,使用 maven 就可以帮我们完成上述所说的项目构建过程
Maven与Eclipse 结合
Maven项目结构
Maven命令使用
mvn compile 编译,将Java 源程序编译成 class 字节码文件。
mvn test 测试,并生成测试报告
mvn clean 将以前编译得到的旧的 class 字节码文件删除
mvn package 打包,动态 web工程打 war包,Java工程打 jar 包
mvn install 将项目生成 jar 包放在仓库中,以便别的模块调用
这种方式每次只能执行一个 Maven 命令,如果想像在 cmd 命令行那样使用组合命令,那么可以这样做
清除maven项目:
project->clean->勾选需呀清理的maven项目->clean
更新maven项目:
项目名->右键->maven->update Project
或者Alt+F5