IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

[Maven 2] Paramétrer le déploiement


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 16
    Par défaut [Maven 2] Paramétrer le déploiement
    Bonjour,

    En ce moment je suis en train d'étudier les différents aspects du déploiement chez Maven 2 et je me pose deux petites questions :

    1. à partir du repository indiqué, Maven crée une arborescence de répertoire (basé sur le groupId si j'ai tout compris) puis ajoute un répertoire portant le nom du projet (artifactId) suivi d'un répertoire portant le nom de la version (version) et y place le jar qu'on souhaite déployer.
    Ma question est : cette construction est-elle paramétrable en dehors de la modifiction du groupId et Cie ? Si je veux déployer ce jar dans un répertoire existant, jusqu'à quel point puis-je supprimer cette arborescence de déployement pour ne pas perturber l'existant - genre il existe un répertoire "lib" quelque part et je veux déployer mon jar à la racine de ce répertoire.

    2. dans le nom du jar déployé est ajouté un certain nombre d'information lié à la version et à la date de déploiement. Ma question est : peut-on créer un jar juste avec la version, ou carrément sans aucune information, juste son nom ? Cette question se pose dans le cadre d'une application qui tourne depuis longtemps et qu'on désire mettre à jour simplement (remplacement du jar existant).

    Je sais bien que ces questions sont étranges et vont un peu en l'encontre l'esprit de Maven, mais je désire savoir entre un déploiement ultra précis/rigoureux et quelque chose de simple et épuré (bourrin ?), quelle marge de manoeuvre propose Maven 2.

    Merci d'avance.

  2. #2
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par ange bleu
    1. à partir du repository indiqué, Maven crée une arborescence de répertoire (basé sur le groupId si j'ai tout compris) puis ajoute un répertoire portant le nom du projet (artifactId) suivi d'un répertoire portant le nom de la version (version) et y place le jar qu'on souhaite déployer.
    Ma question est : cette construction est-elle paramétrable en dehors de la modifiction du groupId et Cie ? Si je veux déployer ce jar dans un répertoire existant, jusqu'à quel point puis-je supprimer cette arborescence de déployement pour ne pas perturber l'existant - genre il existe un répertoire "lib" quelque part et je veux déployer mon jar à la racine de ce répertoire.
    Le fait de placer la librairie produite dans le référentiel Maven n'est pas paramètrable. C'est ce que Maven fait par défaut. Par contre, pour faire un déploiement à un autre endroit, Maven propose tout un tas de solution alternative (assembly, deploy). Ou et Pourquoi veux tu déployer ta librairie?

    Citation Envoyé par ange bleu
    2. dans le nom du jar déployé est ajouté un certain nombre d'information lié à la version et à la date de déploiement. Ma question est : peut-on créer un jar juste avec la version, ou carrément sans aucune information, juste son nom ? Cette question se pose dans le cadre d'une application qui tourne depuis longtemps et qu'on désire mettre à jour simplement (remplacement du jar existant).
    est fait poru ça. Maven produira deux jars, un avec le nom standard, et un avec le nom donné.

  3. #3
    Membre averti
    Inscrit en
    Février 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 16
    Par défaut
    Citation Envoyé par denisC
    Ou et Pourquoi veux tu déployer ta librairie?
    Je ne saisis pas trop le sens de la question^^
    ou ? => un serveur quelconque
    pourquoi ? => pour rendre disponible ce jar à des applications qui en aurait besoin

    J'ai bien répondu ?^^

    Quoi qu'il en soit pour paramétrer le déploiement il faut utiliser le Mojo deploy:deploy-file si j'ai bien appris mes leçons ?
    Mais mon problème c'est qu'il semble que je référence mal le plug-in. J'ai mis ça dans mon POM :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      <dependencies>
        <dependency>
         <groupId>maven</groupId>
         <artifactId>maven-deploy-plugin</artifactId>
         <version>1.3</version>
        </dependency>
      </dependencies>
    ce que je pensais être correct mais il me sort un étrange "BUILD ERROR" en me disant qu'il manque des informations de type group, artifact, version ou packaging. A moins bien sûr que ce soit mon appel qui soit mauvais ?
    Je fais un appel du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mvn deploy:deploy-file -Durl=file://C:\m2-repo
                           -DrepositoryId=some.id
                           -Dfile=your-artifact-1.0.jar
    Vous voyez ce que j'ai loupé ???

    Merci d'avance

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par ange bleu
    Je ne saisis pas trop le sens de la question^^
    ou ? => un serveur quelconque
    pourquoi ? => pour rendre disponible ce jar à des applications qui en aurait besoin

    J'ai bien répondu ?^^
    Normalement, le partage du jar entre les projets se fait en utilisant le formalisme Maven (le repository, les noms....) et c'est bien plus simple comme ça pour tous les projets.

    Citation Envoyé par ange bleu
    Vous voyez ce que j'ai loupé ???

    Merci d'avance
    Normalement, le plugin deploy est utilisé automatiquement par Maven dans la phase deploy, en utilisant la configuration fournie dans le pom (distributionManagement en particulier). Tu n'as pas besoin de fournir d'informations supplémentaire ou de re-préciser que tu veux utiliser ce plugin.

    En conclusion, si ce que tu veux faire, c'est mettre à disposition des autres projets le jar que tu produit, utilise simplement;
    Qui mettra le jar à l'endroit approprié dans le repository.

  5. #5
    Membre averti
    Inscrit en
    Février 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 16
    Par défaut
    Je suis bien d'accord pour deploy, ça marche très bien mais j'aimerais aussi faire marcher deploy-file et là ça coince - d'où ma question.

    Sinon pour revenir à ta première remarque je suis en train de réaliser une étude sur Maven donc je ne m'intéresse pas à une réponse particulière mais aux réponses possibles pour un problème donné.
    Je suis d'accord que c'est bien plus simple d'utiliser le formalisme Maven mais je ne suis pas assuré qu'il pourra être appliqué à chaque fois or je dois tout de même assurer le fait que Maven puisse être appliqué à chaque fois même s'il faut adapter son formalisme.
    Peut être qu'au final le formalisme Maven va être appliqué à chaque fois mais je ne peux pas le savoir à l'avance c'est pourquoi j'applique la maxime "qui peut le plus peut le moins".

    Sinon une nouvelle question au sujet du déploiement : est-ce qu'il existe des logs dans Maven qui permettent de savoir quand l'artefact de version X a été livré sur Y ? En somme avoir une trace des différents déploiements qui ont été réalisés ?

    Et encore une fois merci d'avance.

  6. #6
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par ange bleu
    Sinon une nouvelle question au sujet du déploiement : est-ce qu'il existe des logs dans Maven qui permettent de savoir quand l'artefact de version X a été livré sur Y ? En somme avoir une trace des différents déploiements qui ont été réalisés ?
    Dans maven en lui-même non.

    Mais le projet maven propose d'autres outils qui peuvent répondre à tes besoins. Entre autres continuum ou Maven-repository-manager (archiva)...
    Mais bon, peut-être que emmanuel pourra nous en dire plus

Discussions similaires

  1. Utilisation des champs paramètres suite à déploiement d'un site
    Par Abac_Angelique dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 03/06/2014, 16h38
  2. Maven et le déploiement sous Weblogic
    Par Astemius dans le forum Maven
    Réponses: 1
    Dernier message: 08/04/2008, 10h10
  3. [Checkstyle] [Maven] comment paramétrer les conventions ?
    Par bassemeco dans le forum Qualimétrie
    Réponses: 1
    Dernier message: 15/02/2008, 08h36
  4. Gérer des déploiement différents avec Maven.
    Par martopioche dans le forum Maven
    Réponses: 5
    Dernier message: 02/10/2007, 12h28
  5. Réponses: 5
    Dernier message: 29/03/2007, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo