Maven是什么
- 一个项目管理工具
- 对项目中的jar包进行依赖管理
- 对项目的一键构建
Maven安装
- 依赖JDK1.7+
- 下载Maven, 下载地址
- 配置maven环境变量
- 查看Maven版本号, mvn -v
- 修改本地仓库地址和添加阿里镜像
# apache-maven-3.6.1\conf\settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
.....
<localRepository>G:\本地仓库地址</localRepository>
.....
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<id>nexus-aliyun-thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<name>Nexus aliyun thirdparty</name>
<url>http://maven.aliyun.com/nexus/content/repositories/thirdparty/</url>
</mirror>
</mirrors>
.....
</settings>
Maven常用命令
- compile
maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下
mvn compile
- test
maven工程的测试命令,会执行src/test/java下的单元测试类
mvn test
- clean
清理命令,会删除target目录及内容
maven clean
- package
打包命令,对java工程执行package打成jar包,对web工程打成war包
mvn package
- install
安装命令,将maven工程打包成jar或war包,并发布到本地仓库
mvn install
- 项目的生命周期
项目构建包括:清理、编译、测试、报告、打包、部署
pom.xml
每一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。
- 依赖范围 <scope>provided</scop>
compile: 编译范围,指 A 在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided 依 赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。
runtime:runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。
test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要所以 test范围依赖不会被打包。
system:system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR
文件的路径,需要指定 systemPath 磁盘路径,system依赖不推荐使用。
网友评论