具有不同依赖关系的maven war插件分类器

时间:2013-06-26 12:54:24

标签: maven build dependencies war classification

以下设置:我有一个网络项目和2个叠加。因此我得到了3个不同的战争文件。现在有一个默认配置(bean,覆盖属性文件,web.xml),它在生产中用于BUT,也用于测试目的。有时,当编程新功能和配置值被设置用于测试目的,值被遗忘时,它会到达prod环境并且很糟糕。

现在我们尝试获得一个或更好的两个配置项目。一个用于保存所有默认值,另一个用于测试。我们的想法是为使用分类器的3个Web项目中的每个项目创建一个额外的war文件。

所以应该有一个myapp.config工件,包含所有默认值和一个myapp.war文件,以及一个位于myapp-dev.war文件中的myapp.config.dev工件。

由于我还没有习惯maven,我在网上搜索了很多关于如何使用maven war插件或maven warpath插件实现,但我没有找到解决方案。此外,我不知道这是否是实现这一“功能”的正确方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

不要为不同的环境构建不同的工件。理想情况下,您希望将相同的战争部署到测试环境中测试的相同战争。否则你会得到测试人员没有找到的错误 - 为什么,因为构建中的错误使得prod战争与测试战争略有不同等等。

人们通常会将特定于环境的配置放在尽可能少的文件中。理想情况下只有一个文件,并有几个副本:

db-config-dev.properties
db-config-test.properties

然后执行类似的操作,例如在所有environemnts中向应用服务器启动添加系统属性:

-Dcom.company.environment=test

最后,一个 war在所有环境中的行为都相同:它加载并使用db-config - $ {com.company.environment} .properties