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 :

compilation Java via maven et eclipse


Sujet :

Maven Java

  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Par défaut compilation Java via maven et eclipse
    Il semble que ce ne soit pas le même compilateur Java par défaut.
    Javac pour maven
    celui d'eclipse pour Eclipse
    Confirmez vous?
    comment faire pour utiliser le même ?
    car nous utilisons eclipse en dev et Maven pour construire les livrables (en faisant un clean)
    merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Soit tu fais pointer Eclipse vers le même jdk que maven.
    Soit tu compiles avec Maven en local, en utilisant le plugin adéquat, ou en le faisant à la main dans Eclipse ou en dehors.

  3. #3
    Membre averti
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Par défaut
    Je suis sous windows.
    est ce que Maven utilise la variable d'environnement JAVA_HOME ?
    si c'est le cas, j'ai la même valeur pour JAVA_HOME et côté Eclipse (JRE utilisée dans les préférences)
    donc cela devrait compiler pareil non ?
    j'ai juste en plus dans le pom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<configuration>
    					<source>1.5</source>
    					<target>1.5</target>
    				</configuration>
    			</plugin>
    pour cibler en 1.5

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Oui Maven utilise JAVA_HOME.

  5. #5
    Membre averti
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Par défaut
    en fait d'après un post sur eclipse :
    http://www.developpez.net/forums/d49...tions-options/
    il semble acté (ce que dit adiguba) qu'eclipse utilise son propre compilateur.
    Comme je ne veux pas modifier ce que fait Eclipse (car c'est un environnement configuré pour tous les postes de mon entreprise pour le dévpt) je cherche plutôt à faire utiliser le compilateur d'eclipse par Maven au lieu du javac trouvé dans le JAVA_HOME.
    Quelqu'un a-t-il une idée sur ce qu'il faut ajouter dans le pom.xml

    merci

  6. #6
    Membre averti
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Par défaut
    cela n'a pas été immédiat mais j'ai trouvé surtout grâce à
    http://www.mailinglistarchive.com/us.../msg56643.html
    L'idée est donc bien de faire utiliser par Maven le compilateur d'eclipse (en tout cas c'est ce que je voulais car faire le contraire je ne vois et ne veux pas)
    de plus toutes les versions du compilateur d'eclipse ne sont pas sur le repo Maven faut référencer celui de Jboss.
    Pour être sur d'utiliser le même faut chercher dans le "à propos d'eclipse" la version de org.eclipse.jdt.core.
    Ensuite cela roule j'ai comparé les deux .class générés d'un côté et de l'autre : ils sont identiques donc me voilà rassuré ....pour la future prod

  7. #7
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Par défaut Petite Question
    Bonjour BBruno,
    Il y a quelque chose qui me taquine dans cette idée de forcer Maven à utiliser le compilateur d'Eclipse. Il me semble que la bonne approche est de s'assurer que tout les developeurs (Eclipse, Netbeans, Idea, ou VI -s'il y'en a-, notepad, ...) obtiennent les mêmes résultats de compilation entre eux et surtout, que le Builder Engine de ton entreprise, celui qui va fournir les executables. C'est un des nombreux problèmes que résoud Maven.

    Par simple curiosité (dans les limites du raisonable ), pourquoi ce besoin d'utiliser le compilateur Eclipse à travers ton entreprise?

  8. #8
    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
    En théorie les deux compilateurs sont sur le meme standard, donc il n'y aucune raison qu'il y ait des différences entre les deux.

    Nos developpements se font sous eclipse, puis le produit est "buildé" en utilisant Hudson (donc un build maven avec le JDK normal) et deployé sur une plate-forme de developpement. Les problemes de compilation sont donc reportés par hudson, moins d'une heure après le commit a SVN.

    Donc pour le moment, je n'ai jamais éprouvé le besoin d'etre sur que maven utilise le compilateur eclipse.

  9. #9
    Membre averti
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Par défaut
    En fait pour répondre aux deux derniers posts :
    1)à greg_la_pompe : on utilise le compilateur d'eclipse car on utilise eclipse en dev (sans avoir utilisé le plugin eclipse pour Maven qui peut être résoudrait ce pb mais annoncé non stable à l'époque où on a démarré)

    2)à DenisC :certes si on utilise Hudson derrière il n'y a plus le problème encore faut-il effectuer les mêmes tests (pas seulement unitaires) à ce niveau là (nous on les fait quasiment uniquement en local donc avec Eclipse). En fait si j'ai signalé le pb c'est qu'on a constaté un comportement différent à l'exécution de code compilé Eclipse et Javac (laisse passer dans un cas et plante dans l'autre), d'accord c'était du code "mal écrit" mais bon cela prouve que les deux compilateurs, même s'ils sont sur le même standard, ne se comportent pas pareil.

  10. #10
    Invité de passage
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Par défaut
    Bonjour BBruno

    Il se trouve que je suis exactement dans la même situation que la tienne. On aimerait passer par Maven pour la livraison, seulement les délivrables produits par éclipse/ant et par Maven diffèrent du seul point de vue des *.class générés donc de la compilation. Ceci portant sur un projet multi modules très important en volume, il est impossible pour la recette, qualif, prod, de réeffectuer l'ensemble des tests de régression sur la version produite par Maven.

    Après de très nombreux essais relatifs au link que tu as posté, je n'ai toujours pas réussi à effectuer une compilation.

    J'aurais voulu savoir si tu avais rencontré des problèmes avec la déclaration du plugin telle qu'elle est sur ton link, si tu avais été amené à faire des modifications et quelle version de maven, du plugin et du jdt.core tu avais utilisé, étant personnellement forcé d'utiliser maven 2.0.4 et jdt.core 3.1.1.

    Merci.

  11. #11
    Invité de passage
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut Il y a bien des différences !
    Par exemple:
    private <X> X safeGetProperty(Object object, String attributeName)

    On l'utilise comme ceci:
    CI inValue = safeGetProperty(inObject, inAttributeName);

    Cela se passe sans douleur sous Eclipse

    Par contre sous maven (compilateur sun 6.0.10) (sur l'utilisation de la méthode)
    type parameters of <X>X cannot be determined; no unique maximal instance exists for type variable X with upper bounds CI,java.lang.Object

    Il faut caster
    CI inValue = (CI) safeGetProperty(inObject, inAttributeName);

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Je rebondis de nouveau sur ce poste.
    On peut très bien se passer de plugin maven pour eclipse pour compiler.
    Il suffit de paramétrer ses taches de compilation par "Open external tools dialog" en référençant le binaire maven.
    Ainsi on utilise le build automatique d'Eclipse pour vérifier la cohérence de ce que l'on écrit, et quand on en a besoin, on peut lancer une compilation par maven via eclipse. On aura ainsi le même résultat en dev que pour la livraison.
    Cela me semble bien plus cohérent que de vouloir utiliser le compilateur d'Eclipse pour produire les livrables.

  13. #13
    Membre averti
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Par défaut
    Bonjour,
    Je ne suis pas sur de bien avoir compris la réponse de fr1man. Tu proposes d'agir dans eclipse pour pour utiliser le Javac ?

    Pour répondre à bolo73 (un peut tard mille excuses un peu booké en ce moment), je joins un fichier explicitant la démarche (pas immédiat dans mon cas car la version du compilateur eclipse souhaité n'était pas sur le repo Maven mais sur celui de Jboss)
    J'utilise Maven 2.0.6
    Fichiers attachés Fichiers attachés

  14. #14
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Ce que je veux dire, c'est que tu ne veux pas compiler en local (développement) avec maven, car il y a problème (ou il y avait) avec le plugin maven pour eclipse.
    Je disais simplement qu'on pouvait se passer du plugin pour compiler, simplement en référençant le binaire maven.
    Cela permet d'éviter d'utiliser le compilateur Eclipse pour tes livrables.

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

Discussions similaires

  1. Compilation Maven sous Eclipse
    Par Mako 5013 dans le forum Maven
    Réponses: 5
    Dernier message: 22/03/2013, 14h25
  2. RAD 7 (Eclipse) Chemin de compilation Java
    Par jadey dans le forum Eclipse
    Réponses: 0
    Dernier message: 07/10/2011, 13h54
  3. Java (via Eclipse) et Processeur xquery?
    Par Kaptha dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 24/03/2009, 21h09
  4. Maven et Eclipse Compiler Compliance
    Par mouja dans le forum Maven
    Réponses: 2
    Dernier message: 28/11/2007, 11h20
  5. Compiler du code Java via Java
    Par sozie9372 dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2006, 10h14

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