一、工程目录:
POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。
<groupId>com.mai</groupId> //组名
<artifactId>Restaurant</artifactId> //工程名
<version>0.0.1-SNAPSHOT</version> //版本
1.常用Maven命令:
编译:mvn compile --src/main/java目录java源码编译生成class (target目录下)
编译:mvn test-compile --src/test/java 目录编译
测试:mvn test
清理:mvn clean --删除target目录,也就是将class文件等删除
打包:mvn package --生成压缩文件:java项目#jar包;web项目#war包,也是放在target目录下
安装:mvn install --将压缩文件(jar或者war)上传到本地仓库
部署|发布:mvn deploy --将压缩文件上传私服
2.Maven的坐标(gav)
使用三个向量在仓库中定义唯一的maven工程。
groupid:公司或组织域名的倒序
artifactid:模块名
version:版本号
3.依赖范围(scope)
通过查看部署目录中的Jar情况,观察每种依赖范围所对应的情况。
服务器提供的Jar是设置为provided,防止出现冲突。
Maven依赖:
1.Maven依赖的传递性:
每个工程的直接依赖和依赖的层次结构。
好处:
可以传递的依赖不必在每个模块中重复声明;
非compile范围依赖不能传递;
2.依赖的排除
不想把依赖的Jar添加到当前工程
<exclusions>
<exclusion>
3.依赖传递的原则(就近原则)
作用:解决模块之间Jar包冲突问题
情形1:路径最短者优先原则
情形2:路径相同时,先声明者优先,声明指的是dependency元素的声明顺序
4.统一管理依赖的版本
properties元素