J'ai un projet Maven d'emballage de guerre, dans lequel j'ai un fichier de propriétés Java appelé myapp.properties. Dans ce fichier de propriétés, je stocke certains paramètres, par exemple, les paramètres de connexion à la base de données, qui seront utilisés par la webapp. Dans un environnement d'intégration continue ou dans mon environnement de développement, je souhaite définir des paramètres de test dans myapp.properties pour me connecter à ma base de données de test, par exemple.Différents fichiers à empaqueter dans un projet de guerre Maven
Répondre
Vous pouvez jeter un oeil sur ce blog: http://blog.jayway.com/2010/01/21/one-artifact-with-multiple-configurations-in-maven/
Ils construisent différents fichiers-guerre et d'utiliser classificateur différents (au lieu de profils différents). Je ne sais pas si c'est le maven, mais ça marche pour certains de mes projets.
Je voudrais essayer avec
pom.xml pour votre projet (ou pom parent)
<build>
...
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
...
</build>
dans votre fichier de propriétés (s) par exemple
db.url=${db.url}
et dans votre settings.xml (voir http://maven.apache.org/settings.html#Profiles)
<db.url>jdbc:mysql://localhost:3306/testdb</db.url>
selon votre stade de développement (local, construire serveur, etc.), vous pouvez utiliser différentes valeurs db.url
Cela ne laissera pas la propriété db.url vide, mais chaque fois que vous empaquetez l'artefact, vous ne voulez pas qu'il reste vraiment vide, n'est-ce pas?
Ceci utilise le mécanisme de profil de Maven. Cependant, dans mon environnement CI, j'ai besoin de construire à la fois la guerre de test pour les tests et la guerre de production comme livrable si les tests sont bons. Dans ce cas, il semble que je ne puisse pas utiliser un profil différent pour les différencier dans le même environnement, et que je doive construire deux artefacts à des fins différentes? – nybon
Je ne connais pas votre environnement de gestion de l'environnement, mais dans le nôtre, nous avons des configurations différentes pour le test, la production (intégration, etc.) cela inclut différents profils –