【发布时间】:2019-11-02 00:37:57
【问题描述】:
有没有办法仅在部署(或未部署)项目时激活 Maven 配置文件?
nexus staging plugin 部署作为反应堆构建一部分的所有模块,因此如果正在部署项目(以部署它们),我想跳过某些模块(单元测试、基准测试等)。
我知道我可以调用mvn -Ddeploy deploy 并根据deploy 属性激活配置文件,但我希望有办法避免两次提及deploy。
【问题讨论】:
标签: maven
有没有办法仅在部署(或未部署)项目时激活 Maven 配置文件?
nexus staging plugin 部署作为反应堆构建一部分的所有模块,因此如果正在部署项目(以部署它们),我想跳过某些模块(单元测试、基准测试等)。
我知道我可以调用mvn -Ddeploy deploy 并根据deploy 属性激活配置文件,但我希望有办法避免两次提及deploy。
【问题讨论】:
标签: maven
AFAIK,你不能那样做。
有可能的配置文件激活列表 (https://maven.apache.org/guides/introduction/introduction-to-profiles.html),说明:
可以通过多种方式触发/激活配置文件:
- 明确
- 通过 Maven 设置
- 基于环境变量
- 操作系统设置
- 存在或丢失文件
我的猜测是,配置文件会在阶段/目标甚至被 Maven 读取之前进行评估。我试图从https://stackoverflow.com/a/14727072/927493 中弄清楚,但它没有明确地说出来。
不过,为各个模块中的部署插件设置<skip>true</skip> 可能会有所帮助(也可以使用属性maven.deploy.skip)。
https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html
【讨论】: