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 :

Dépendances Eclipse et Maven


Sujet :

Maven Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 99
    Par défaut Dépendances Eclipse et Maven
    Bonjour,

    Jusqu'ici, lorsque je créeai un projet eclipse, j'ajoutais dans son build path la dépendance avec un autre projet type "projet SDK" qui fournissait toutes les librairies nécessaires à la compilation de mon projet.
    Avec maven, la compilation ignore la config eclise à savoir la dépendance entre projet....cela veut dire que je dois me taper a la main toutes les dependencies (.jar) présents dans le "projet SDK" pour les mettre explicitement dans le pom.xml ??

    Je sais que la commande maven eclipse:eclipse permet de convertir un pom.xml en bon .classpath pour eclipse (via le plugin eclipse pour maven)...Il n'existe donc pas l'opération inverse ? (lire le classpath d'eclipse et ajouter toutes les dependencies en conséquence dans le pom.xml)

    Ils ont fait cela (expliciter toutes les dépendances) pour la portabilité d'un projet maven (indépendant de l'IDE/platform) ?

    Merci

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Effectivement, il te faut déclarer toutes tes dépendances dans ton pom.xml. Cela est tout à fait normal, car la compilation via Maven - mais aussi avec d'autres outils de build comme Ant, Gradle, etc. - est indépendante de l'outil de développement.
    Imagine par exemple que l'un de tes collègues utilise NetBeans ou IntelliJ. Comment fait-il pour construire l'application dans ce cas ?
    De même, si on regarde du côté de l'intégration continue, la compilation se fait en dehors de tout IDE.

    Voilà pour les scripts ou description de compilation (le pom.xml ici) doit être indépendant de tout IDE.

    Il est d'ailleurs recommandé de ne pas commiter les fichiers propres aux IDE (.project, .classpath pour Eclipse) au sein du SCM (CVS, Subversion, Git, etc.).


    Pour en revenir à ton problème, je ne connais pas de plugin qui permette de passer du .project + .classpath vers un pom.xml...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 99
    Par défaut
    OK merci, je vais me faire les quelques 50 dépendances à la main alors

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Cela devrait être l'occasion de faire le ménage.
    Et n'oublie pas que l'on ne doit spécifier à Maven seulement les dépendances directes. Les dépendances transitives (i.e. les dépendances de mes propres dépendances) sont gérées automatiquement par Maven. Et a priori, je pense qu'il doit bien y en avoir dans ta cinquante de librairies...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Par défaut
    Je viens de migrer mon projet sous maven pour mieux gérer les dépendances. Le classpath est mis à jours (suite à l'execution de la commande mvn eclipe:eclipse) mais les "import" sont toujours soulignés en rouges.
    Est ce normal, alors que mon repository contient tous les packages requis ?

Discussions similaires

  1. Dépendance entre projets Maven sous Eclipse
    Par SaladinDev dans le forum Eclipse
    Réponses: 0
    Dernier message: 16/04/2012, 21h14
  2. Dépendance entre projet Maven et projet non maven dans Eclipse
    Par identifiant_bidon dans le forum Maven
    Réponses: 1
    Dernier message: 24/02/2011, 13h25
  3. Création d'un plugin eclipse avec maven
    Par afkkir dans le forum Maven
    Réponses: 7
    Dernier message: 10/07/2008, 14h34
  4. Générer des jar sous Eclipse Avec Maven
    Par zerobug dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/04/2008, 22h11
  5. Plugin eclipse pour Maven 2.0
    Par DanielW33 dans le forum Maven
    Réponses: 6
    Dernier message: 12/01/2007, 16h17

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