一个项目从开发到最后发布上线,通常需要在多套不同的环境经受反复的测试和验证,例如开发环境、测试环境、预生产环境、生产环境等。项目部署到不同的环境时,项目的配置通常也是不同的,例如数据库的数据源配置等。maven提供了一套
profiles
配置,开发者可以在项目POM文件中预先定义好若干个不同环境的profile
配置,项目可以根据不同的构建参数来动态选择其中的一个环境设置。这就意味着相同的一套项目代码,可以在构建时根据传入的不同环境参数打出不同环境的软件包来。这也是maven竭力保证的软件可移植性。