首先是一些背景信息:
我们的EJB3应用程序有三个环境:测试,开发和生产。所有都需要自己的数据库设置。我们使用maven2。
数据源设置放在ear项目目录/src/main/application/META-INF/data-sources.xml中。文件包含三个不同连接工厂的属性(每个环境一个)。但是,在编译应用程序时,只有其中一个可以处于活动状态,而其他两个必须被注释掉。
在将应用程序编译到另一个环境之前忘记修改data-sources.xml是一个非常常见的错误,这自然会导致有趣的问题 - 以及重新编译和部署的负担。
如果我们可以有三个不同的data-sources.xml文件(每个环境一个),那将会很棒,并且根据命令行开关,可以指定哪个文件包含在耳中。像这样:
mvn install dev
mvn install prod
mvn install test
有没有办法实现这个目标?