projet multi-module maven avec parent pom et svn mise en page
J'ai actuellement environ 16 projets que je construis avec maven qui est déployé sur le même serveur d'applications qui composent quelque chose comme un "portail". J'ai construit un pom parent pour gérer des dépendances et le plugin configurations. Actuellement, mon SVN structure ressemble à ceci:
portal_root
+project1
+tags
+branches
+trunk
+project2
.
.
.
+projectn
pom.xml
Les projets individuels sont chacun séparément déployé. C'est, projet1 ne pas avoir une dépendance sur project2, et chacune peut être modifié et déployé sans avoir à modifier quoi que ce soit d'autre.
Cela pose un problème avec SVN, comme si un autre développeur a voulu découvrez l'ensemble de la "portail" de la racine (aussi pour obtenir le pom parent), ils devraient également par défaut tirer vers le bas les copies de toutes les étiquettes et les branches! Pas vraiment l'idéal.
La seule autre chose que je pense est d'utiliser quelque chose comme ceci:
portal_root
+tags
+branches
+trunk
+project1
+src
pom.xml
+project2
.
.
.
pom.xml
Cependant, maintenant, toutes les modifications de projet sera suivi dans les balises dossier. Ce n'est pas un énorme problème pour moi, mais la ramification semble maintenant devenir une douleur.
Je suis également en train de travailler sur le branchement de Teamcity dans ce qui serait un peu plus facile maintenant, puisque je n'aurais plus qu'à regarder un seul répertoire (par exemple, les balises) pour attraper tout ce qui doit être construit. Je suis également le déploiement d'artefacts pour une entreprise Nessus référentiel.
Je suis en espérant que quelqu'un pourrait me donner quelques suggestions ici que j'ai été incapable de trouver une décente de la documentation qui parle de l'ensemble de construire le cycle de vie et les meilleures pratiques ici.
J'aime l'idée d'être en mesure de construire et de déployer tous les projets avec une seule commande maven. J'aime aussi avoir toutes les dépendances, le référentiel de l'information et de plugin informations en un seul endroit.
source d'informationauteur Casey | 2010-12-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la mise en page suivante:
Dans le projet parent pom ajouter:
Chez les enfants de projets pom ajouter:
Enfants de Projets peuvent éventuellement être dépendant.
Liens suivants peuvent également vous aider:
Une variation à l'université JohnS approche serait d'utiliser
svn:externals
à crochet approprié trunk/tags/branches de votre sous-projets pour le tronc appropriée/tag/direction générale de votre projet parent. Dans cette façon de vérifier une variante de votre mère devrait sortir tous de la version de l'autre des projets.Cela n'a de sens que si elle est raisonnable pour passer à la caisse tous vos projets.