maven的标准目录结构
src/main/java 核心代码部分
src/main/resources 配置文件部分
src/test/java 测试代码部分
src/test/resources 测试配置文件
src/main/webapp 页面资源,js、css、图片等
maven的常用命令
mvn clean
将存放编译代码的target目录删除。
mvn compile
将src/main下面的代码编译
mvn test
将test下的代码和main下的代码编译
mvn package
将test和main下的代码编译,并根据pom.xml文件中的package标签打包。
mvn install
执行package命令的全部内容,并将打好的包放到本地仓库
mvn deploy
maven概念模型
使用idea引入maven的配置
在不联网情况下允许创建maven工程的配置
-DarchetypeCatalog=internal
关于maven依赖的冲突的解决
依赖的分类
- 直接依赖: A项目中直接导入了B包,则A项目直接依赖于B
- 传递依赖:A项目中导入了B包,B项目中依赖于C包,A项目中也可以shiyongC,则A传递依赖于C。
解决jar包冲突的三个原则
1. 第一声明优先原则
例如:
则依赖关系为:此时spring-core的版本为5.0.3
则依赖关系为如下:此时spring-core的版本为4.2.8
结论:哪个jar包在上边,哪个就是第一声明jar包
2. 路径近者优先原则
直接依赖的jar包比传递依赖的jar包近。
3. 直接排除法
如图:即可排除某个包下的依赖包。