Java 有没有办法使用maven指定要包含在EAR中的data-sources.xml文件?

Java 有没有办法使用maven指定要包含在EAR中的data-sources.xml文件?,java,maven-2,Java,Maven 2,首先是一些背景资料: 我们的EJB3应用程序有三个环境:测试、开发和生产。所有这些都需要自己的数据库设置。我们使用maven2 数据源设置放在ear项目的目录/src/main/application/META-INF/Data-sources.xml中。文件包含三个不同连接工厂的属性(每个环境一个)。但是,在编译应用程序时,其中只有一个可以激活,另外两个必须注释掉 在将应用程序编译到另一个环境之前忘记修改data-sources.xml是一个非常常见的错误,这自然会导致有趣的问题,以及重新编译

首先是一些背景资料:

我们的EJB3应用程序有三个环境:测试、开发和生产。所有这些都需要自己的数据库设置。我们使用maven2

数据源设置放在ear项目的目录/src/main/application/META-INF/Data-sources.xml中。文件包含三个不同连接工厂的属性(每个环境一个)。但是,在编译应用程序时,其中只有一个可以激活,另外两个必须注释掉

在将应用程序编译到另一个环境之前忘记修改data-sources.xml是一个非常常见的错误,这自然会导致有趣的问题,以及重新编译和部署的负担

如果我们可以有三个不同的data-sources.xml文件(每个环境一个),并且可以根据命令行开关指定ear中包含的文件,那就太好了。大概是这样的:

mvn install dev
mvn install prod
mvn install test

有什么方法可以做到这一点吗?

Maven对这类事情有一个配置文件的概念: