Maven 学习笔记
设计目标
- 项目是可重复使用,易于维护、更容易理解的综合模型
- 工具插件化、可交互
Maven资源库
- Maven本地仓库, 默认
.m2
目录 - Maven中央存储库,maven下载所有依赖的默认位置
- Maven远程仓库:在pom中添加repo
- 搜索仓库的顺序:
- 在 Maven 的本地仓库搜索 log4j
- 在 Maven 中央存储库搜索 log4j
- 在 Maven 远程仓库搜索 log4j(如果在 pom.xml 中定义)
1 | <repositories> |
TIPS
不执行测试用例
在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,
会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:
-DskipTests
,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。-Dmaven.test.skip=true
,不执行测试用例,也不编译测试用例类
Scope
- compile 最强依赖,传递
- provided 参与编译,依赖不传递,不打进包里,由运行时系统提供
- runtime 运行时,如:JDBC
- test 编译运行测试代码,不会发布
- system 类似于provided,但是不会再repo里查找,需要引用外部jar
常用命令
- mvn compile
- mvn test-compile 编译测试代码
- mvn test 运行测试
- 运行指定测试用力
- mvn site,package,install,clean
- mvn eclipse:eclipse
- mvn idea:idea
- mvn -Dtest pakcage 只打包不测试
- mvn jar:jar只打jar包
- mvn eclipse:clean清除eclipse的一些系统设置
- mvn validate 验证工程所需资源