最近接触的项目都是在很多地方都落地的项目,需要支持不同的环境使用不同的配置文件。一直以来都以为是人工的去写不同的配置文件,手动的去修改运用的配置文件。感觉自己还是太low呀。maven的使用的还停留在基础上。后面看项目才发现maven可以不同环境不同的发布,只需要制定环境参数或者设置就可以,整个工程简单粗暴。觉的非常不错,于是想深入的了解一下。写下此文.

一、maven profile介绍

profile可以让我们定义一系列的配置信息,然后指定其在相应的环境下使用相应的配置文件。这样我们就可以根据环境的不同切换不同的配置文件,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。for example,我们的项目落地不同的地域,每个地域都有每个地域特色的功能,需要我们配置不同一些参数。更加实际的情况是我们的生产环境与测试环境使用不同的数据库,账号密码、连接地址可能不一样,如果每次你都切换环境都需要自己手动去修改这些东西,一次两次你可能觉的还好,每次测试、上线都需要修改的时候我保证你会疯的。相信我!哈哈,这个时候就是profile的作用,可以一次性解决你的问题。特别结合持续集成工具的时候,profile可以很方便的上线发布。

二、如何配置profile

profile有三种配置方式:

单个项目配置:第一种是直接在pom.xml中配置

用户配置:可以在用户的setting.xml中配置。该文件在用户家目录下的“.m2”目录下。

全局配置:可以在maven的conf的setting.xml中配置。

在pom.xml中配置的用法(个人推荐)