第10章 多环境下构建项目
本章根据实际情况,介绍多种部署环境下构建项目的配置。
在大多数公司,都会有多种项目的运行环境,例如:开发环境、测试环境、预发布环境、正式环境…
我们都会遇到这样一个问题,不同环境的一些配置是不同的,例如:数据库配置、网银接口的账号和地址配置、邮箱和短信账号配置等等。那么在maven构建项目时,需要根据不同的环境,打包不同配置。
还是用我们的crm项目进行演示,基本项目目录:
本章根据实际情况,介绍多种部署环境下构建项目的配置。
在大多数公司,都会有多种项目的运行环境,例如:开发环境、测试环境、预发布环境、正式环境…
我们都会遇到这样一个问题,不同环境的一些配置是不同的,例如:数据库配置、网银接口的账号和地址配置、邮箱和短信账号配置等等。那么在maven构建项目时,需要根据不同的环境,打包不同配置。
还是用我们的crm项目进行演示,基本项目目录:
本章介绍了maven生命周期、插件以及如何配置插件
一般的项目都会经历这几个步骤:编译,测试,打包,部署,有些公司是手动方式,有些是自动化脚本方式,虽然方式类似,但不可能完全相同。maven对这些工作进行抽象和统一,总结了一套完善的生命周期。
本章详细介绍了nexus的安装过程,设置maven从私服下载构件,以及发布构件至nexus。
nexus是一个web版的仓库管理软件
nexus安装非常简单。
下载地址:http://www.sonatype.org/nexus/go
本文以Linux环境为例,安装nexus:
cd bin
chmod +x nexus
本章介绍了maven的仓库概念,仓库分类等内容。
maven仓库就是放置所有jar文件(war,zip,pom等等)的地方,maven项目可以从maven仓库中获取自己所需要的依赖jar。此外,仓库中的构件都有自己的坐标,坐标描述了版本、打包方式和maven如何找到此构件。
在第一章安装maven时,我们已经设置了maven本地仓库,那么现在,详细说一说为什么要设置本地仓库。
在maven项目中,是没有lib目录来存放依赖文件的,如果pom.xml中需要依赖,在编译或测试时,maven会自动基于坐标使用本地仓库的依赖文件。
默认情况,maven本地仓库位置在用户根目录的.m2文件夹中。
某些情况下,例如c盘不足,我们需要设置仓库位置。
本章用一个例子介绍maven的聚合特性。
在上一章中,我们讲解了maven的继承特性,他可以使子项目直接引用父项目定义的依赖和插件。那么,如果有多个子项目,如何通过父项目进行管理,这就需要考虑使用聚合特性。所以,maven聚合特性可以把多个项目模块聚合在一起构建。
本章尽量用通俗的语言来介绍maven的继承特性。
在代码中,child类继承了parent类,那么child具有父类的所有属性。
在maven中也类似,父项目pom文件中定义的属性、依赖等配置都可以让子项目pom继承。
本章详细介绍maven的依赖特性和依赖范围,如何排除依赖。
举个例子
在非maven项目中,你需要使用spring功能,你会想到导入spring的jar包,那么,srping又需要其他依赖jar包支持,所以你又需要去导入其他jar包,多次反复尝试启动项目后,你终于成功了!
maven项目就不需要这么麻烦,你只要在pom.xml文件中,引入spring相关配置,那么他会自动引入其他依赖jar包,这就是maven的依赖传递。
本章介绍了maven的核心pom.xml作用,详细描述了maven坐标变量。
POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。maven项目中,除了一堆代码文件和跟项目有关的依赖文件外,还会包含一个pom.xml配置文件,这个文件配置了maven打包、编译、版本、路径等等的信息。其实,maven项目可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。
本章从实际操作出发,介绍windows下的maven安装,介绍使用eclipse配置maven和创建普通项目、web项目。
与Linux平台的安装过程相似,前置条件,jdk1.7
http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
本章以尽可能简单、通俗易懂的语言介绍了maven,以及maven的安装和入门操作命令。
比较正式语言: