当我在构建时使用配置文件填充属性文件时,如何在Eclipse中运行Maven webapp?

以下是我的POM中的示例配置文件:

  QA  true   jdbc:mysql://127.0.0.1:3306/SomeDB webapp somepassword   ... 

然后我在我的资源文件夹中有一个属性文件,如下所示:

 jdbc.url = ${jdbc.url} jdbc.username = ${jdbc.username} jdbc.password = ${jdbc.password} 

最后我在我的POM中打开过滤:

     src/main/resources true   ... 

这实际上是一个简化的例子,但你明白了。 基本上我跑的时候

mvn install -P QA

Maven将过滤我的app.properties文件,用配置文件中保存的值替换所有占位符,并部署填充的属性文件。

所有这一切的问题在于我喜欢在Eclipse中使用Servers机制,我在IDE中运行Tomcat。 我的项目在这个实例中运行,Eclipse负责更新,重新部署等。然而,在IDE中部署期间,Maven被排除在外,并且此属性文件永远不会被正确填充。

那么,如何在IDE中继续运行我的项目,但是已正确填充此属性文件?

您可以通过m2eclipse插件有效地运行任何Maven命令(包括带有配置文件的命令)。 此外,m2eclipse适用于WTP(我相信它是Servers选项卡的来源)。 我不确定这一部分,但是我已经用它将Web应用程序部署到Eclipse中的Tomcat以用于Maven项目。

谢谢Alex。 我最终为Apache Maven(Eclipse IAM)安装了Eclipse Integration,以前是Eclipse for Eclipse

这个插件解决了两个问题:在Eclipse中发布到服务器事件期间填充属性文件并填充WEB-INF / lib文件夹。 之前,即使我运行mvn eclipse:eclipse来满足Eclipse中的Build Path,它也没有正确地将这些依赖项发布到嵌入式服务器上。 这个插件就是这么做的。 解决了这两个问题后,我发现使用嵌入式服务器在Eclipse中开发Maven项目没有任何其他障碍。