这是我的 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>
...
然后我的资源文件夹中有一个属性文件,如下所示:
jdbc.url = ${jdbc.url}
jdbc.username = ${jdbc.username}
jdbc.password = ${jdbc.password}
最后我在我的 POM 中打开过滤:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
...
这实际上是一个简化的示例,但您明白了。基本上当我运行的时候
mvn install -P QA
Maven 将过滤我的 app.properties 文件,将所有占位符替换为配置文件中保存的值,然后部署填充的属性文件。
所有这一切的问题是我喜欢在 Eclipse 中使用服务器机制,我在 IDE 中运行 Tomcat。我的项目在这个实例中运行,Eclipse 负责更新、重新部署等。Maven 被排除在外,但是,在 IDE 中部署期间,这个属性文件永远不会被正确填充。
那么,我如何才能继续在 IDE 中运行我的项目,同时正确填充此属性文件?
最佳答案
您可以通过 m2eclipse 有效地运行任何 Maven 命令(包括带有配置文件的命令)插入。此外,m2eclipse 与 WTP 一起工作(我相信这是服务器选项卡的来源)。我不确定这部分,但我已经使用它在 Eclipse 中为 Maven 项目将 Web 应用程序部署到 Tomcat。
关于java - 当我在构建时使用配置文件填充属性文件时,如何在 Eclipse 中运行 Maven webapp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/669639/