这是我的场景:
- Maven 2.0.9 是我们的构建系统
- 我们将代码安装到多个环境
- 我们所有特定于环境的属性都包含在属性文件中,每个环境一个
- 我们目前使用properties-maven-plugin将这些属性读入 maven ;这个子项目符号不是必需的,只是我们当前的解决方案
目标:
- 仅针对某些环境执行构建的某些部分(即插件执行)
- 通过在特定于环境的属性文件中设置值来控制运行哪些部件
到目前为止我已经尝试过:
- Maven 允许将插件执行放在 pom 配置文件中,可以通过属性激活;不幸的是,这些必须是系统属性- 即。来自 settings.xml 或命令行,而不是来自
properties-maven-plugin
如果可能,我们希望将所有内容都封装在构建工作区中,如下所示:
project
pom.xml
src
...
conf
dev.properties
test.properties
prod.properties
build-scripts
build.groovy <-- the script that wraps maven to do the build
install.groovy <-- ... wraps maven to do the install
运行构建看起来像:
cd build-scripts
./build.groovy
./install.groovy -e prod
有没有可能用我们正在使用的 maven 版本来实现这些目标?如果没有,是否可以使用更新版本的 Maven?