【发布时间】:2018-01-03 17:09:32
【问题描述】:
在我的 POM 中,我有:
<properties>
<custom.properties>
${basedir}/src/main/props/${environment}-${flavor}.properties
</custom.properties>
</properties>
environment 和 flavor 可以在命令行中提供:
mvn clean install -Denvironment=test -Dflavor=guest
在 maven-resources 插件定义中,我有:
<filters>
<filter>${basedir}/src/main/props/base.properties</filter>
<filter>${custom.properties}</filter>
</filters>
如果${environment}-${flavor}.properties 创建的文件不存在,我可以定义一个回退,还是完全忽略它? Maven 当前会抛出错误。
我宁愿不必为environment 和flavor 的每个可能组合创建一个虚拟文件。
谢谢。
【问题讨论】:
-
您的问题只是
maven-resources-plugin对不存在的文件抛出错误吗?您是否需要像在您的问题中一样定义过滤? -
我愿意接受有关如何以不同方式进行过滤的建议。大约有 5 种环境和 2 种风格,它们的任何组合都可能需要覆盖
base.properties中默认值的特定属性。我的根 POM 为 2 个属性设置了默认值,并且有许多子模块将使用我的问题中的 POM 设置。有些人可能需要为独特的环境风味组合定义道具,而其他人可能不需要。我只是不想为每个可能的组合在每个模块中创建虚拟文件。
标签: java maven maven-3 maven-profiles maven-resources-plugin