我在Eclipse中使用m2eclipse Maven支持进行资源过滤时出现问题。似乎只对已更改的资源进行过滤。这基本上是有缺陷的,因为如果我有一个引用属性的文件(例如$ {my.property},如果属性的值发生更改,则只有在引用文件也被修改时才会执行过滤 - 如果我只更改了属性值(在我的pom.xml中),过滤不会应用于引用它的文件。
因此,如果我对pom文件中的属性进行了更改,则不会应用过滤。但是,如果我然后转到引用该属性的文件(例如Spring配置文件),然后编辑并保存它,则应用过滤。
我确实在某处读过:
“如果在增量构建期间没有资源更改,m2eclipse会跳过过滤”
我正在使用m2eclipse 0.10.x
还有其他人遇到过这个吗?
谢谢,
安德鲁
答案 0 :(得分:6)
是的,this lengthy讨论中提到了这个问题(主题并不完全是关于资源过滤,但提到了当前的行为):
启用资源过滤后,m2eclipse将运行指定的目标(默认情况下为“process-resources resources:testResources”),以将资源过滤到项目的输出文件夹(target / classes或target-eclipse / classes)中,作为Eclipse构建的一部分。如果在增量构建期间没有资源更改, m2eclipse会跳过过滤
我的理解是这是一个设计选择(参见尤金的last message):
有人担心资源过滤可能会影响IDE中的性能而并不总是需要(例如,当过滤仅用于存储有关构建到结果jar中的一些内容时)
因此,在更改POM后,您应该更新项目配置:右键单击,然后 Maven>更新项目配置(这将触发process-resources
)。
据我所知,这仍然是目前的状态。关于resource filtering有很多问题,也许可以查看是否可以找到类似的问题。
答案 1 :(得分:0)
是的,你是对的。
您应该在m2eclipse's bug tracker中打开一个问题。