1.什么是maven
项目管理工具,基于项目对象模型(POM Project Object Model)
2.maven配置
maven文件的setting.xml文件中配置
3.maven 仓库选择
系统首先从本地仓库中寻找 jar 包,如果有返回,如果没有去向私服(一般为公司的内部服务器),如果私服中有则会下载到本地仓库;如果没有则去向 maven 的中央仓库
4.maven pomjarwar
pom:maven依赖文件;打出来可以作为其他项目的maven依赖,在工程A中添加工程B的pom,A就可以使用B中的类。用在父级工程或聚合工程中。用来做jar包的版本控制。
jar包:java普通项目打包 ;通常是开发时要引用通用类,打成jar包便于存放管理。当你使用某些功能时就需要这些jar包的支持,需要导入jar包。
war包:java web项目打包;是做好一个web网站后,打成war包部署到服务器。目的是节省资源,提供效率。
5.maven version分为Snapshot(开发) Release(发布)
在开发过程中 B 发布的版本标志为 Snapshot 版本,A 进行依赖的时候选择 Snapshot 版本,那么每次 B 发布的话,会在私服仓库中,形成带有时间戳的 Snapshot版本,而 A 构建的时候会自动下载 B 最新时间戳的 Snapshot 版本!
6.maven 生命周期
Maven Build
Maven clean:清理项目.
Maven package:打成 Jar or War 包,会自动进行 clean+compile
Maven install:将本地工程 Jar 上传到本地仓库【存放在 maven 的 settings.xml 中配置的仓库位置】
Maven deploy:上传到私服
7.maven 关于dependency中scope依赖类型
compile:默认的 scope,运行期有效,需要打入包中。
provided:编译期有效,运行期不需要提供,不会打入包中。
runtime:编译不需要,在运行期有效,需要导入包中。(接口与实现分离)
test:测试需要,不会打入包中。
system:非本地仓库引入、存在系统的某个路径下的 jar。(一般不使用)
8.maven ORM
ORM Object-Relational Mapping 对象关系映射 通过使用描述对象和数据库之间映射的元数据(在 Java 中可以用 XML 或者是注解),将程序中的对象自动持久化到关系数据库或者将关系数据库表中的行转换成 Java 对象,其本质上就是将数据从一种形式转换到另外一种形式