Nous utilisons MySQL en production, et Derby pour les tests unitaires. Nos copies pom.xml version Derby de persistence.xml avant les essais, et le remplace par la version MySQL en phase package préparer:Comment empêcher mvn jetty: exécuter depuis l'exécution de la phase de test?
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>copy-test-persistence</id>
<phase>process-test-resources</phase>
<configuration>
<tasks>
<!--replace the "proper" persistence.xml with the "test" version-->
<copy
file="${project.build.testOutputDirectory}/META-INF/persistence.xml.test"
tofile="${project.build.outputDirectory}/META-INF/persistence.xml"
overwrite="true" verbose="true" failonerror="true" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>restore-persistence</id>
<phase>prepare-package</phase>
<configuration>
<tasks>
<!--restore the "proper" persistence.xml-->
<copy
file="${project.build.outputDirectory}/META-INF/persistence.xml.production"
tofile="${project.build.outputDirectory}/META-INF/persistence.xml"
overwrite="true" verbose="true" failonerror="true" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Le problème est que si j'exécute la jetée mvn: l'exécuter exécutera la Tester la tâche de copie du fichier persistence.xml avant de lancer la jetée. Je veux qu'il soit exécuté en utilisant la version de déploiement. Comment puis-je réparer cela?
Si oublié de mentionner que je l'ai testé déjà, mais il ne permet pas. – tputkonen