要在Maven war项目中打包的不同文件
我有一个war包装Maven项目,其中我有一个名为myapp.properties的Java属性文件。 在此属性文件中,我存储了一些参数,例如,将由webapp使用的数据库连接参数。
- 无论是在持续集成环境中还是在我的开发环境中,我都想在myapp.properties中设置一些测试参数来连接到我的测试数据库。
- 同时,我希望在最终的war包中将这些参数留空,以便用户可以在部署到其环境期间自行添加这些值。 最终的war包应该是在持续集成环境中生成的构建工件。
基本上,我想在不同的情况下使用两个版本的myapp.properties文件。 我的问题是,Maven解决这个问题的方法是什么? 我在开发环境中使用Eclipse + WTP + m2eclipse,我希望该解决方案能够与我的开发工具一起使用。
你可以看一下这个博客: http : //blog.jayway.com/2010/01/21/one-artifact-with-multiple-configurations-in-maven/
他们构建不同的war文件并使用不同的分类器(而不是不同的配置文件)。 我不确定它是否是maven方式,但它适用于我的一些项目。
我会试试
你的项目(或父pom)的pom.xml
... src/main/resources **/*.properties true ...
在您的属性文件中,例如
db.url=${db.url}
并在您的settings.xml中(请参阅http://maven.apache.org/settings.html#Profiles )
jdbc:mysql://localhost:3306/testdb
根据您的开发阶段(本地,构建服务器等),您可以使用不同的db.url值
这不会让db.url属性留空,但是每次打包神器时你都不希望它真的留空吗?