【发布时间】:2010-11-17 07:32:21
【问题描述】:
我有一个使用多个配置文件的应用程序(这里只考虑 appli.properties)。 这些文件包含几个取决于环境的值。我们可以找到一些信息,例如:
server.port=${envi.server.port}
另一方面,我有一组属性文件,每个环境一个(dev.properties、homolo.properties 等)。 它们包含配置文件中某些属性的值。我们可以在这里找到这种属性:
envi.server.port=4242
我的构建由 Maven2 处理。一切正常。
但是,我现在需要将我的项目导入 Eclipse。
我主要关心的是配置文件过滤。事实上,如果我不修改项目的 Eclipse 参数中的任何内容(在 mvn eclipse:eclipse 命令 之后),那么我的所有配置文件都将保留属性键(即${envi.server.port})而不是他们的价值观。有了这样的配置文件,我的应用程序就不会在 Eclipse 中运行了……
所以我尝试了两种解决方案:
- 一个完整的 Maven 解决方案,使用 m2eclipse 插件。我在项目配置中添加了一个 Maven Builder,然后,每次构建时,都会对文件进行过滤。
- Ant(仅在 Eclipse 中使用)。我已经hardly 定义了一个模拟Ant 中文件的Maven2 过滤的任务。此任务仅用于过滤,不用于编译。
这两种方案的共同问题是,每次操作都要进行过滤(Java类版上基本上是省了),然后比较费时间。然而,第二个解决方案(3 秒)比第一个解决方案(超过 10 秒)快。
你觉得我的方法怎么样? 您将如何以更好的方式做到这一点?
【问题讨论】:
-
我不明白使用 Maven 过滤属性的问题。
-
@Mike 如果我理解正确的话,就是每次更改都会运行 Maven 构建,并且需要大约 10 秒来进行过滤,这是破坏性的。
标签: eclipse configuration maven-2 ant filtering