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 :

Plusieurs applications utilisant les mêmes librairies


Sujet :

Maven Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 45
    Points
    45
    Par défaut Plusieurs applications utilisant les mêmes librairies
    Salut à tous,

    Malgré mes nombreuses recherches, je n'arrive pas à solutionner mon problème.

    Contexte
    J'ai une dizaine de portlets (en gros, de petites applications web) déployées dans le dossier webapps de Tomcat. Ça fonctionne très bien, et j'arrive à faire des déploiements automatisés avec Maven. Au niveau de l'organisation de Maven, j'ai un projet parent référençant les librairies dont mes portlets on besoin, et chaque projet portlet déclare ce projet parent pour acquérir les dépendances.

    Problème
    Maven génère un war avec les librairies, et ce, pour chaque portlet. Résultat : la mémoire occupée par Tomcat gonfle et c'est pas cool. Je peux régler le problème en excluant les librairies utilisées par les portlets et en les plaçant dans le répertoire lib de Tomcat. Ainsi, Tomcat chargera en mémoire une seule fois les librairies et les porlets n'ont plus qu'à piocher dedans.

    Solution espérée
    Première chose : ce que j'aimerais, c'est déployer mes portlets comme je le fais d'habitude, mais en excluant les librairies. Pour ça, un simple <scope>provided</scope> et c'est réglé.
    La difficulté vient ici. La deuxième chose que j'aimerais, c'est demander à Maven de copier dans le dossier lib de Tomcat les librairies communes à toutes les portlets. Si une telle solution n'est pas possible avec Maven, est-il possible au moins de grouper dans un répertoire ces librairies de manière à ce que je puisse les copier moi-même ?

    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    La première suggestion que j'aurais faite, pour éviter les problmèe, aurait été de regrouper tous les portlets dans une seule application. A mois que ce soit des application différentes, les conteneurs de portlets sont prévu pour gérer plusieurs portlet


    Voilà sur le principe. Maintenant, pour ton cas, je ferais ceci:

    créer un projet vide dépendant du parent, et utiliser la commande suivante dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:copy-dependencies
    il faudra peut etre, éventuellement, lui passer des paramètres supplémentaire pour la destination, etc.

    PS: j'ignore si ça copie ce qui est marqué "provided", plus qu'à tester

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 45
    Points
    45
    Par défaut
    Merci de t'intéresser à mon problème

    Je reconnais être débutant dans le monde des portails et, même si j'étais conscient que l'on pouvait avoir plusieurs portlets dans une même application, il me paraissait plus pratique d'avoir des projets séparés pour des questions de déploiement.

    Concernant la solution que tu me proposes, apparemment la documentation du plugin précise qu'il est possible d'inclure des scopes différents. Je teste ça, et je te donne le résultat très vite.

    Merci encore !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 45
    Points
    45
    Par défaut
    Ta solution marche très bien. J'ai finalement inclus un nouveau profile dans mon pom parent me permettant d'exporter ou non les librairies.

    Merci encore pour ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/07/2011, 16h52
  2. Réponses: 4
    Dernier message: 07/10/2008, 12h17
  3. utiliser les mêmes variable dans plusieurs class
    Par hterrolle dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2007, 21h11
  4. Requete sur plusieurs tables contenant les mêmes champs
    Par Louison dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/04/2007, 20h41
  5. D6/Interbase plusieurs fenêtres utilisant le même IBDataSet
    Par Y.Guillermin dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2006, 07h27

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