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

Rob*_*ell 13 java eclipse maven-2

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

    <profiles>
    <profile>
        <id>QA</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <jdbc.url>jdbc:mysql://127.0.0.1:3306/SomeDB</jdbc.url>
            <jdbc.username>webapp</jdbc.username>
            <jdbc.password>somepassword</jdbc.password>
        </properties>
    </profile>
    ...
Run Code Online (Sandbox Code Playgroud)

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

jdbc.url = ${jdbc.url}
jdbc.username = ${jdbc.username}
jdbc.password = ${jdbc.password}
Run Code Online (Sandbox Code Playgroud)

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

    <build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    ...
Run Code Online (Sandbox Code Playgroud)

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

mvn install -P QA

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

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

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

Rob*_*ell 2

谢谢亚历克斯。我最终安装了Eclipse Integration for Apache Maven (Eclipse IAM),以前是 Q for Eclipse

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