我有一个使用多个配置文件的应用程序(这里只考虑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中运行...
所以我尝试了两种解决方案:
这两个解决方案的常见问题是每次操作都会进行过滤(基本上可以节省Java类版本),然后需要时间。然而,第二种解决方案比第一种解决方案(超过10秒)更快(3秒)。
您如何看待我的方法? 你会怎样以更好的方式做到这一点?
答案 0 :(得分:2)
如果资源没有经常更改,您可以将Maven构建设置为仅在Clean构建之后运行,然后它不会干扰太多,但这对加速构建没有任何作用。
至于使过滤更快,我不知道任何其他简单的机制会有所帮助,因为你说你需要Ant或Maven来运行过滤,它们都需要一些时间来设置在建造之前,导致减速。
如果这会导致很多问题,您可以编写一个自定义Incremental Eclipse builder来对增量执行过滤。这应该会快得多,但显然需要付出更多的努力。