2010-11-26 32 views
1

Je suis en train de convertir un projet existant en Maven & leur processus de génération et de publication. Ma structure est comme ça ParentProj -Child1 -Child2 -ChildWeb3 -ChildWeb4Transfert Jar & Wars dans un seul dossier de serveur distant en utilisant Maven

Je ne sais pas ce que les meilleures pratiques maven dit, mais je dois 1. Pour marquer tous mes projets enfants séparément 2 Quand je transfère vers par le serveur de déploiement (publication de mvn: préparer la libération: effectuer -B), il crée sorte de référentiel Je veux faire un dossier dans le serveur à distance & mettez tous les pots & les guerres à l'intérieur seulement & aucuns autres dossiers 3. Existe-t-il un moyen d'exécuter un script shell dans mon serveur distant? er

En attente vos conseils

Répondre

1

Qu'est-ce que vous y être tenu GOES contre les conventions et les meilleures pratiques recommandées Maven. Je dois me rappeler, Maven construit et libère, pas déployer. Oui, il existe un objectif de déploiement, mais cet objectif prend les artefacts produits à partir de la génération ou de la version et les envoie au référentiel Maven distant qui stocke toutes les versions d'artefacts. Cette structure de référentiel est la raison pour laquelle vos fichiers JAR et WAR se retrouvent dans différents dossiers lorsque vous lancez la version mvn: perform, qui est une autre façon de demander à maven de faire un mvn deploy. Maintenant, si vous voulez conserver la façon de faire de Maven, vous devez écrire un autre script (shell, Ant, votre choix) pour le déploiement qui récupèrerait ces fichiers JAR et WAR du référentiel d'artefacts Maven distant et les regrouper de la façon dont vous le souhaitez et déployez-le sur le (s) serveur (s) sur lequel vous voulez les installer. Maintenant, vous pouvez changer maven pour faire ce que vous voulez, mais vous devrez créer un autre projet/module qui ne fait que regrouper les fichiers JAR et WAR comme vous le voulez en archive fichier (tar, gzip, zip). Le plugin d'assemblage Maven est l'outil pour faire ce travail. Vous pouvez en savoir plus sur le plugin d'assemblage here. Maintenant, gardez à l'esprit, la libération mvn: effectuer continuera à pousser l'archive vers le dépôt Maven. Vous aurez toujours besoin d'un script de déploiement pour extraire le fichier d'archive du référentiel Maven distant et l'extraire vers le serveur sur lequel vous souhaitez le déployer.

+0

Merci de m'avoir aidé ... Je suivrai la convention. – Irshad

+0

Aimeriez-vous avoir de vos nouvelles si vous pouviez jeter un peu de lumière sur le projet de marquage de plusieurs modules – Irshad

+0

Ce que je voulais dire est. Notre projet est actuellement non basé sur maven et balise tout le projet séparément ... Maintenant que je les ai convertis en module maven, je ne suis pas sûr de leur marquage car jusqu'à maintenant je ne peux taguer que mon projet parent et les modules enfants. Qu'est-ce que les meilleures pratiques de Maven dit ... dois-je marquer seulement les modules parents ou les tags enfants séparément si oui alors comment? – Irshad