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 :

clean install OK Eclipse et KO avec Maven


Sujet :

Maven Java

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Points : 66
    Points
    66
    Par défaut clean install OK Eclipse et KO avec Maven
    Bonjour,

    J'utilise un plug-in maven dans Eclipse.
    Lorsque j'exécute la séquence "maven clean" puis projet clean (Eclipse) puis "maven install", le build fonctionne.

    Lorsque j'utilise la commande "mvn clean install" depuis une console Dos, certaines sources ne sont pas trouvées et j'obtient des messages d'erreur du genre "package ... does not exist" et "cannot find symbol".

    J'ai besoin de générer un build uniquement via une ligne de commande maven (car je vais m'en servir avec Hudson).

    Que dois-je rajouter dans la ligne "mvn clean install" entre clean et install afin que le build fonctionne ?

    Je précise que toutes les sources nécessaires sont dans le repository maven et que les pom semblent corrects (la génération d'un WAR via Eclipse et son déploiement ne pose pas de problème particulier)

    Y-a-t-il une commande maven permettant de simuler les actions exécuté après l'utilisation de "projet -> clean" depuis Eclipse ?

    Merci d'avance

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu n'aurais pas des sources supplémentaires configurées dans eclipse mais absentes de ton po.xml? Il n'y a rien a ajouter dans la ligne de commande maven, le but de maven est jsutement que n'importe qui puisse prendre ton projet, tapper cette commande et réussir à le compiler

    Il est possible que le build automatique d'eclipse fasse la compilation des classes qui te manquent dans ton dos, c'est pour ca que faire le clean séparé du install semble fonctionne ....

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Points : 66
    Points
    66
    Par défaut
    Avec Eclipse, nous utilisons le plug-in "nexus indexer" qui est un manager de repository pour Maven.
    Il est probable que ce plug-in rajoute certaines dépendances mais ça reste à vérifier ...

    Maven Integration for Eclipse is extensively using local index for Maven repositories. There are several repository types supported:

    * remote Maven repositories, such as Central repository at http://repo1.maven.org/maven2/
    * local Maven repository
    * Maven projects available in the Eclipse workspace

    All those indexes are managed by Nexus indexer component, which is also used by Maven integration for NetBeans, Sonatype repository manager and Nexus indexer command line tool (CLI).

    Nexus indexer component provides an API to index Maven repository, merge and download index updates. It also provides an API to search through registered indexes using various search criteria, including:

    * Browse through repository indexes
    * Search jars by artifactId and groupId
    * Search jars by the packaging type (e.g. to find Maven plugins or Archetypes)
    * Search jars by sha1 (e.g. to identify arbitrary jars with actual Maven artifacts)
    * Search Maven artifacts/jar by class name (e.g. resolve classpath issues from build errors or class not found exceptions)

    Voici le message d'erreur généré par maven :
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Compilation failure

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/ILieuDao.java:[13,50] package com.MaBoite.MonProjet.val
    ueObject.fiche.meps does not exist

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/ILieuDao.java:[111,21] cannot find symbol
    symbol : class ResultatRechercheVO
    location: interface com.MaBoite.MonProjet.dao.fiche.meps.ILieuDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuPlacementDao.java:[25,46] package com.MaBoite.MonProjet
    .reprise.repriseUtils does not exist

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[34,30] package com.MaBoite.MonProjet.util
    does not exist

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[35,50] package com.MaBoite.MonProjet.valu
    eObject.fiche.meps does not exist

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[475,21] cannot find symbol
    symbol : class ResultatRechercheVO
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuPlacementDao.java:[168,20] cannot find symbol
    symbol : variable Constantes
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuPlacementDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuPlacementDao.java:[166,20] cannot find symbol
    symbol : variable Constantes
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuPlacementDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuPlacementDao.java:[188,24] cannot find symbol
    symbol : variable Constantes
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuPlacementDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuPlacementDao.java:[198,24] cannot find symbol
    symbol : variable Constantes
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuPlacementDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[485,18] cannot find symbol
    symbol : class ResultatRechercheVO
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[485,61] cannot find symbol
    symbol : class ResultatRechercheVO
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[494,12] cannot find symbol
    symbol : class ResultatRechercheVO
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[494,43] cannot find symbol
    symbol : class ResultatRechercheVO
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuDao

    C:/temp/eclimpe_MonProjet/workspace/MonProjet/MonProjet-data/src/main/java/com/MaBoite/MonProjet/dao/fiche/meps/LieuDao.java:[561,16] cannot find symbol
    symbol : variable ResultatEnqueteUtil
    location: class com.MaBoite.MonProjet.dao.fiche.meps.LieuDao

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Points : 66
    Points
    66
    Par défaut
    Le projet sur lequel je travail est un projet multimodules.

    J'utilise un pom parent :

    <modules>
    <module>module1</module>
    <module>module2</module>
    ...
    </modules>
    Dans mon cas, module1 doit utiliser des classes présentes dans module2.

  5. #5
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Août 2007
    Messages : 84
    Points : 98
    Points
    98
    Par défaut
    Et module1 a bien une dépendance (Maven, pas Eclipse) vers module2?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Points : 66
    Points
    66
    Par défaut
    Dans le pom du module1 :
    <dependencies>
    <dependency>
    <groupId>com.MonProjet.fwk</groupId>
    <artifactId>MonProjet-Service</artifactId>
    <version>${MonProjet.version}</version>
    </dependency>

  7. #7
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Août 2007
    Messages : 84
    Points : 98
    Points
    98
    Par défaut
    Il doit bien y avoir une raison pour laquelle il ne trouve pas cette pléthore de classes, packages et variables.

    En vrac:
    - Ces classes n'existent tout simplement pas dans MonProjet-Service
    - MonProjet-Service n'est pas à jour dans ton repo local (=> mvn clean install)
    - Ces classes existent dans MonProjet-Service mais ne sont pas packagées dans le jar
    - La réponse D

    Quelque chose s'appliquerait à ton cas ?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Points : 66
    Points
    66
    Par défaut
    Je voulais vous remercier pour votre participation
    Les dépendances entre les pom du projet doivent surement être mal gérée ...
    Eclipse semble résoudre ces problèmes de dépendances via le plug-in Maven.
    click droit sur le projet->properties->menu maven->options cochées:
    1 - Resolve dependencies from Workspace projects
    2 - Include Modules

    Je choisit la réponse D en attendant le super moit-moit
    (les classes existent, les jar sont dans le repo. maven, clean install ne donne rien)

    Scénario OK :
    1 - Commande DOS : mvn clean
    2 - Depuis Eclipse : project clean
    3 - Commande DOS : mvn install
    "Project clean" résout les problèmes de dépendances .

    Scénario KO (utilisé par Hudson) :
    1 - Commande DOS : mvn clean install

    A suivre ...

Discussions similaires

  1. Installation de Eclipse sur Ubuntu (avec Tomcat 6)
    Par sonson85 dans le forum Eclipse
    Réponses: 2
    Dernier message: 13/05/2011, 21h00
  2. Installation de SDK-Eclipse pour travailler avec le JBPM
    Par kamariyusri dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 04/05/2007, 17h51
  3. [Eclipse 3.1] Probléme avec l'installation d'ECLIPSE
    Par faressam dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 01/04/2006, 00h41
  4. Installation de eclipse avec Mandriva 2006
    Par JavaAcro dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 11/01/2006, 17h13

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