7

我在 Eclipse 中使用 m2eclipse Maven 支持进行资源过滤时遇到问题。似乎过滤只发生在已更改的资源上。这从根本上是有缺陷的,因为如果我有一个引用属性的文件(例如 ${my.property},如果属性的值发生更改,那么只有在引用文件也被修改的情况下才会执行过滤 - 如果我只更改属性值(在我的 pom.xml 中),过滤不适用于引用它的文件。

因此,如果我对我的 pom 文件中的属性进行更改,则不会应用过滤。但是,如果我然后转到引用该属性的文件(例如 Spring 配置文件)然后编辑并保存它,则应用过滤。

我确实在某处读到:

“如果增量构建期间没有资源更改,m2eclipse 会跳过过滤”

我正在使用 m2eclipse 0.10.x

有没有其他人遇到过这个?

谢谢,

安德鲁

4

2 回答 2

7

是的,在这个冗长的讨论中提到了这一点(这个话题并不完全是关于资源过滤,而是提到了当前的行为):

启用资源过滤后,m2eclipse 将运行指定的目标(默认为“process-resources resources:testResources”)以将资源过滤到项目的输出文件夹(target/classes 或 target-eclipse/classes)作为 Eclipse 构建的一部分。如果在增量构建期间没有资源更改,m2eclipse 会跳过过滤

我的理解是,这是一个设计选择(参见 Eugene 的最后一条消息):

有人担心资源过滤可能会影响 IDE 中的性能并且并不总是需要(例如,当过滤仅用于将一些关于构建的内容存储到结果 jar 中时)

因此,在您的 POM 发生更改后,您应该更新项目配置:右键单击您的项目,然后单击Maven > Update Project Configuration(这将触发process-resources)。

据我所知,这仍然是目前的状态。不过,资源过滤有很多问题,也许检查一下是否可以找到类似的问题。

于 2010-05-05T21:16:42.197 回答
0

是的你是对的。

您应该在m2eclipse 的 bug tracker中打开一个问题。

于 2010-05-05T17:05:14.387 回答