项目构建工具-掌握Maven
理解
Java世界中主要有三大构建工具:Ant、Maven和Gradle。Ant几乎销声匿迹,Maven应使用得最广泛,而Gradle开始快速的发展。
Maven作使用
- Maven给开发人员提供了一个框架,一个完整的生命周期。
- 用标准的目录结构和默认构建生命周期。
- 基于项目对象模型(POM)的概念。
- Maven的主要功能,分别是依赖管理系统、多板块构建、一致的项目结构、一致的构建模型和插件机制。
- 理念:商定大于配置。
- Maven基本上是Java构建的事实标准。
Maven概念
- 本地资源库:本地存储项目的依赖库,默认的文件夹是使用户下 “.m2” 目录。
- 中央存储库:Maven使用来下载所有项目的依赖库的默认位置。
- 私服:特殊的远程仓库,代理商广域网上的远程仓库,内网用,部署自己的构件或者者三方的构件。
- 项目对象模型(POM):pom.xml,里面公告结构和内容。是整个Maven系统的基本单元。
- “坐标”:项目组(groupId),它的名字(artifactId)和版本(version)。保证项目唯一性。
POM 项目对象模型
- 包括依赖,配置信息,目标和插件等。每个项目一个。
- 指定项目本身的坐标,groupId 是项目组的编号,artifactId这是项目的ID,通常是项目的名称。version 是项目的版本。
- 超级POM,是Maven的默认POM,指定了少量默认配置和插件,其中的元素可以被覆盖。另外,Maven会有很多原型插件,自带完备的pom.xml。
- Parent 继承,可以使得子POM可以取得 parent 中的各项配置(依赖插件等)。可使用relativePath指定查找位置。它主要是抽取统一的配置信息和依赖版本控制。
- 聚合(或者多板块),在modules中把各板块来聚合成一组项目进行构建,板块名是这些项目的相对目录。SOA和微服务的通使用的分解板块方式。
主要的构建生命周期
- Maven特意设置了标准的项目构建周期,默认情况下所有项目活动的体现上是一致的。
- resources:资源复制。这阶段通常是复制静态资源文件。这个未指明的阶段在process-resources包含的。
- compile:编译,源代码编译在此阶段完成。
- package:打包,创立JAR/WAR包。
- install:安装,这一阶段在本地仓库安装程序包。
- deploy:部署,在远程(私服)仓库安装程序包。
- clean:可选,清除阶段。
项目结构商定
src
...main 主体
... ...java
... ...resources 资源等
... ...webapp WEB-INF,js,css等
...test 测试类和资源
... ...java
... ...resources
target 构建后所有文件和目录
pom.xml
注:在SpringBoot中,webapp里面一律放在resources下面去了。 如下:
resources
... application.properties 各种配置文件
... static js/css/image
... template 页面部分
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 项目构建工具-掌握Maven
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 项目构建工具-掌握Maven