Java 在Eclipse中发布应用程序时替换属性文件的内容

Java 在Eclipse中发布应用程序时替换属性文件的内容,java,eclipse,maven,properties,weblogic12c,Java,Eclipse,Maven,Properties,Weblogic12c,我们有一个.ear项目和几个依赖的.jar项目,我们正在使用Maven。每个项目都有自己的属性文件,但其中的属性没有特定的值,而是占位符,例如 database.url=${database.url} 占位符${database.url}在Maven构建过程中使用resources插件被替换。因此,对于每个阶段(本地、测试、集成、生产),我们都有一个不同的Maven概要文件来定义过滤器,因此如果我们为测试阶段构建,我们会得到如下结果 database.url=url.for.test.db

我们有一个.ear项目和几个依赖的.jar项目,我们正在使用Maven。每个项目都有自己的属性文件,但其中的属性没有特定的值,而是占位符,例如

database.url=${database.url}
占位符${database.url}在Maven构建过程中使用resources插件被替换。因此,对于每个阶段(本地、测试、集成、生产),我们都有一个不同的Maven概要文件来定义过滤器,因此如果我们为测试阶段构建,我们会得到如下结果

database.url=url.for.test.db
该应用程序正在WLS12上运行,我们希望使用Eclipse服务器插件(我们使用的是EclipseKepler)将其部署到本地WLS上。但是,当我们在Eclipse和publish中将应用程序添加到服务器时,它不起作用,因为属性文件中的占位符没有被特定值替换

好的,正在部署的内容位于Eclipse工作区中:

<workspace>\.metadata\.plugins\org.eclipse.core.resources\.projects\<ear-project-name>\beadep\<WLS domain name>\<ear-project-name>
当它部署到WLS时,它是无用的

在将属性文件从Eclipse部署到WLS之前,是否有任何机制或可能性来更改它们


谢谢您的帮助。

好的,这是我选择的解决方案(我不确定它是否是最好的,但至少它是有效的):

我在.ear项目中添加了一个名为“properties local”的新文件夹。此文件夹仅包含与本地部署相关的属性文件(不带占位符),例如

database.url=url.for.local.db

在Eclipse项目的属性中,有一节“部署程序集”。我将新文件夹“properties local”添加到部署路径APP-INF/classes中,因此它们将出现在用于本地部署的.ear中

maven ear插件负责为远程阶段构建.ear文件,它不知道本地目录属性

因此,该解决方案的缺点是,现在有两个包含属性文件的文件夹:一个用于本地Eclipse部署,一个用于部署在远程服务器上的.ear文件

database.url=${database.url}