Maven 中的可选过滤器文件

Posted

技术标签:

【中文标题】Maven 中的可选过滤器文件【英文标题】:Optional filter file in Maven 【发布时间】:2012-05-10 06:13:32 【问题描述】:

我在 pom.xml 中配置了以下过滤器:

<build>
...
    <filters>
        <filter>build.properties</filter>
        <filter>user.properties</filter>
    </filters>
...
</build>

build.properties 包含在为生产环境构建 webapp 时使用的过滤器。 user.properties 是用户覆盖build.properties 中配置的过滤器以进行本地部署和测试的地方(例如servername=localhost 而不是servername=productionserver.com)。

user.properties 不存储在源代码管理中,因为它是每个开发人员本地的。当我们使用 Jenkins 构建 webapp 时,它会失败并显示“加载属性文件时出错”。

有没有办法将过滤器指定为可选,或者告诉 Maven 忽略丢失的过滤器?

【问题讨论】:

【参考方案1】:

看看为服务器构建和开发人员工作站构建设置不同的 Maven 构建配置文件

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

【讨论】:

似乎是最好的解决方案 在这里指出一些配置会很有用。到目前为止,我已经花了 5 分钟试图找出实现这一目标的选项。我也不知道(尚)配置文件是否支持动态加载 $user.name.properties,或者我是否打算指定不同的配置格式:(。

以上是关于Maven 中的可选过滤器文件的主要内容,如果未能解决你的问题,请参考以下文章

PL/pgSQL 函数中的可选参数

Jax-RS 中的可选 @PathParam

tcpdump在wlan抓包时的可用过滤器

Maven中的可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)

struts2原理

Struts2运行原理