Comment puis-je créer un Maven build profil conditionnelle, copier des fichiers?
J'ai du nouveau à maven et je suis en train de créer pom.xml pour construire la guerre de fichiers pour les différents environnement à l'aide de profils
J'ai donc créé le construire de la cible
<build>
<finalName>myacct_okc</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>config/${environment}</directory>
</resource>
</resources>
</build>
Puis créé des profils pour chaque environnement
<profiles>
<profile>
<id>local</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<environment>local</environment>
</properties>
</profile>
<profile>
<id>jboss</id>
<properties>
<environment>jboss</environment>
</properties>
</profile>
<profile>
<id>dev</id>
<properties>
<environment>dev</environment>
</properties>
</profile>
et je créer un dossier config pour chaque env
project root
|-- src
| |-- main
| | |-- java
| | |-- resources
| | | |-- config.xml
| | | +-- config.properties
| | |-- webapp
| | | |-- META-INF
| | | | +--context.xml
| | |-- config
| | | |-- local
| | | | |--config.properties
| | | | +--config.xml
| | | |-- jboss
| | | | |--config.properties
| | | | +--config.xml
| | | +-- dev
| | | | |--config.properties
| | | | +--config.xml
+--pom.xml
Maintenant quand je lance cette pom.xml avec quel profil pour, par exemple, jboss, les fichiers de config/jboss dossier ne sont pas d'être copié ( ou je veux dire les fichiers dans le répertoire src/main/resources ne sont pas remplacé).
lorsque j'ai activé le debug sur maven build je peux voir la copie se exécutée.
[DEBUG] resource with targetPath null
directory C:\Projects\workspace\myaccount_build_4\myaccount\config\jboss
excludes []
includes []
[DEBUG] ignoreDelta true
[INFO] Copying 2 resources
[DEBUG] file config.xml has a filtered file extension
[DEBUG] copy C:\Projects\workspace\myaccount_build_4\myaccount\config\jboss\config.xml to C:\Projects\workspace\myaccount_build_4\myaccount\target\classes\config.xml
[DEBUG] file config.properties has a filtered file extension
[DEBUG] copy C:\Projects\workspace\myaccount_build_4\myaccount\config\jboss\META-INF\config.properties to C:\Projects\workspace\myaccount_build_4\myaccount\target\classes\META-INF\config.properties
Mais il n'est pas de remplacer les fichiers. Les fichiers sont toujours les mêmes que de la src/main/resources.
Maven version 3.0.4
Quelqu'un peut m'aider ce que je fais de mal ?
J'ai regardé ce question. Il fournit une solution mais je veux remplacer les fichiers plutôt que de les exclure, puis copier.
- C'est un autre exemple de base de Maven: maven.apache.org/guides/mini/...
Vous devez vous connecter pour publier un commentaire.
Je crois que vous aurez à ajouter vos ressources pour le maven-ressources-plugin, à l'intérieur d'un copier-ressources d'exécution.
Il a travaillé, après j'ai ajouté
filtering= true