1,项目的灵活构建的意义
一个优秀的项目必须足够灵活,项目可能会经历开发环境、测试环境和产品环境,这些环境的配置不尽相同,那么项目构建的时候就需要识别所在的环境并使用正确的配置。还有一种情况,项目在开发阶段集成了大量的测试,这些测试运行起来非常耗时,不适合每次构建项目的时候都运行,因此需要一种手段让我们在特定的时候才激活这些集成测试。Maven为了支持构建的灵活性,支持了三大特性,即属性、Profile和资源过滤。
2, Maven的属性
Maven的属性如下:
1) 内置属性
2) Pom属性
3) 自定义属性
4) Settings属性
5) Java系统属性
6) 环境变量属性
3,Maven的profile
为了能让构建在各个环境下方便地移植,Maven引入了profile的概念。Profile能够在构建的时候修改一个Pom的子集,或者添加额外的配置,用户可以使用很多方式激活profile,以实现构建在不同环境下的移植。
3.1 Profile的激活方式
1) 命令行激活 mvn clean install –Pdev
2) settings文件显示激活,如果用户希望某个profile默认移植处于激活状态,就可以配置settings.xml文件的activeProfiles元素,便是其配置的profile对于所有的项目都处于激活状态。
3) 系统属性激活,
4) 操作系统环境激活
5) 文件存在与否激活
6) 默认激活
3.2 profile的种类
1) pom.xmlpom.xml中声明的profile只对当前项目有效。
2) 用户settings.xml 用户目录下的profile对于本机上所有的Maven项目都有效
3) 全局的settings.xmlMaven安装目录下的 settings.xml 的profile对本机所有Maven项目有效。
4) profiles.xml已在Maven3中移除