[RESOLVIDO] Selecionar persistence.xml correto usando Maven

Olá pessoal!

Tenho um aplicativo web que deve rodar em diferentes bancos de dados (oracle, mssql, mysql, etc.), cada desenvolvedor da equipe usa um banco diferente e portanto tem um datasource diferente dentro dos diretório do JBoss.

O problema é que não temos como configurar o persistence.xml de uma maneira que ele rode em todos os bancos, pois os parâmetros mudam (ex.: o dialect).

Eu estava querendo criar diferentes persistence.xml, um para cada banco (oracle-persistence.xml, mssql-persistence.xml, mysql-persistence.xml) e associar esses arquivos a diferentes perfis do maven (perfil-oracle, perfil-mssql, perfil-mysql). Aí cada desenvolvedor ativaria o perfil do banco que quisesse.

Não sei muito bem se isso é possível, ou se existe algum solução mais inteligente.

Alguma sugestão?

Abs

Consegui resolver essa questão. O que fiz foi o seguinte:

  • criei vários persistence.xml dentro de uma pasta separada (persistences-xml/mysql-persistence.xml; persistences-xml/mssql-2008-persistence.xml; etc…)
  • criei um perfil do maven para cada tipo de banco (perfil-mysql, perfil-mssql-2008, etc…)
  • os perfis tem uma propriedade chamada banco.dados, cada perfil atribui o valor correspondente a essa propriedade (ex.: <banco.dados>mysql</banco.dados>)
  • usei o plugin ant do maven para copiar o arquivo de persistência correspondente ao perfil ativo para a pasta META-INF, alterando o nome do arquivo para persistence.xml

seguem partes dos códigos :

perfis:

            <profiles>
		<profile>		
			<id>mysql</id>
			<properties>
				<banco.dados>mysql</banco.dados>
			</properties>
		</profile>
		<profile>
			<id>mssql-2008</id>
			<properties>
				<banco.dados>mssql-2008</banco.dados>
			</properties>
		</profile>	
	</profiles>

task do ant:

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<phase>validate</phase>
						<configuration>
							<target>
								<echo>${banco.dados}</echo>
								<copy overwrite="true" file="persistences-xml/${banco.dados}-persistence.xml" tofile="src/main/resources/META-INF/persistence.xml"/>
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

Abs!