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 :

Récupération jar Hibernate ok mais mise en place structure ? [Débutant(e)]


Sujet :

Maven Java

  1. #1
    vinou92340
    Invité(e)
    Par défaut Récupération jar Hibernate ok mais mise en place structure ?
    Bonjour,

    Je me pose une question, j'ai décidé de me mettre à maven. J'ai récupéré une commande pour créer un projet struts 2 sur le site de struts. Voici cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mvn archetype:generate -B -DarchetypeGroupId=org.apache.struts -DarchetypeArtifactId=struts2-archetype-blank -DarchetypeVersion=2.3.4.1 -DgroupId=org.lola -DartifactId=Test
    Or, je voudrai aussi utiliser hibernate. De ce fait, j'ai rajouté la dépendance suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate</artifactId>
                <version>3.0.5</version>
                <scope>compile</scope>
            </dependency>
    avec ce repository :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <repository>
            <id>maven-nuxeo</id>
            <name>Maven Nuxeo Repository</name>
            <url>https://maven.nuxeo.org/nexus/content/groups/public/</url>
            <layout>default</layout>
     </repository>
    Il est à noter que quand je mets : http://repository.jboss.org/maven2, j'ai une erreur d'accès interdit. De ce fait, j'ai cherché sur internet et j'ai trouvé un autre repository. Si vous avez un autre repository avec un hibernate en version actuelle, je suis preneur .

    Bref, quand je fais un clean install, j'obtiens bien la librairie hibernate dans la liste "Maven Dependancies". Mais n'y a t il pas moyen d'obtenir aussi les fichiers xml en rapport avec hibernate via maven et que ceux ci soient mis en place au bon endroit ?

    Je constate aussi que dans mon projet, je me retrouve avec des dossiers en double.
    Un exemple de package :
    src/main/java/org.lola.example
    qui apparait en dessous sous forme de dossier:
    src/main/java/org/lola/example/
    Est ce normal ?

    De plus est ce que la partie src/test est obligatoire ?

    Je vous remercie d'avance pour votre aide et la prise en considération de mes questions .

    Cordialement,

    Vinz le Newbie de Maven

  2. #2
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Difficile de trouver l'archetype qui va bien...

    Tu peux démarrer un projet hibernate avec un autre archetype pour voir la structure d'un tel projet ! Puis, mixer les 2...

    Note: AppFuse propose des solutions complètes pour démarrer un projet global... Peut-être y trouveras tu ton bonheur!

    M2E te permet de trouver les dépendances en quelques clics. Sinn, tu as des site comme celui-ci MavenCentral (c'est le site par défaut pour maven, et tu pourras constater que hibernate est dispo.. donc inutile de rajouter un repository jboss ou autre). Tu as aussi ce site).

    Concernant les fichies xml qui te manquent: quels sont-ils ? mapping ? config ? Celà n'a aucun rapport avec Maven... Comme dit plus haut: le mieux, pour toi, est de générer un applis purement hibernate avec un archetype...

    La partie test n'est pas obligatoire... mais, pourquoi ne pas commencer tout de suite ?

    a+
    Philippe

  3. #3
    vinou92340
    Invité(e)
    Par défaut
    Merci pour votre réponse .

    Je vais peut être tenter l'utilisation d'archétypes pré définis mais le problème est qu'il y a déjà 250 fichiers en plus de ceux nécessaires fournis dans ces archétypes.

    Autre question à laquelle vous allez surement répondre. Imaginons que je crée un module java (déploiement de type jar) pour tout ce qui est interaction avec la base de donnée, que je le mets dans les dépendances d'un module web (war) et que pour finir je crée un projet père qui est obligatoirement déployable en type "pom" et dont le fichier pom contient les deux modules précédents. Quand j'essaye d'exporter mon fichier via l'interface export>web>war, ce n'est pas possible. Est ce normal ? (j'arrive à le faire au travail et je me demande comment faire).


    Merci d'avance

    Vinz

    PS: pourriez vous m'expliquer globalement ^^ à quoi sert la partie test svp.

  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 : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par vinou92340 Voir le message
    Autre question à laquelle vous allez surement répondre. Imaginons que je crée un module java (déploiement de type jar) pour tout ce qui est interaction avec la base de donnée, que je le mets dans les dépendances d'un module web (war) et que pour finir je crée un projet père qui est obligatoirement déployable en type "pom" et dont le fichier pom contient les deux modules précédents. Quand j'essaye d'exporter mon fichier via l'interface export>web>war, ce n'est pas possible. Est ce normal ? (j'arrive à le faire au travail et je me demande comment faire).
    Ca ne marche pas tout à fait comme ça. Ton étape du déployable par un pom est inutile et fausse. Un projet de type pom est un "méta-projet", qui n'a aucun livrable normalement, à part le pom.xml lui-même. Alors oui, on peut très bien générer un livrable via un projet pom (en utilisant les archetypes par exemple), mais c'est contraire à l'esprit de Maven.
    Dans ton cas, c'est plutôt ton projet WAR qui sera le livrable. Tu auras du coup une architecture comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    mon-projet
      +- pom.xml                    [le pom.xml parent, de type POM]
      +- ma-librairie
      |    +- pom.xml               [le pom.xml de la librairie, de type JAR]
      |    +- src/main/java         [les sources de l'application]
      |    +- src/main/resources    [les ressources de la librairie]
      |    +- src/test/java         [les sources de tests de l'application]
      |    +- src/test/resources    [les ressources de tests de l'application]
      +- mon-web
           +- pom.xml               [le pom.xml du projet web, de type WAR et dépendant de ma-librairie.jar]
           +- src/main/webapp       [les ressources du projet web]

    Citation Envoyé par vinou92340 Voir le message
    PS: pourriez vous m'expliquer globalement ^^ à quoi sert la partie test svp.
    A écrire son code de test, tout simplement
    Grosso-modo, dans une application, on écrit 2 types de code (pour faire simple) : le code de "production", c'est-à-dire l'application elle-même, et le code de test. Ce dernier (basé sur du JUnit, TestNG, ou encore plein d'autres choses) a pour rôle de vérifier que le code de production réalise bien ce que l'on attend de lui. Comme c'est du code, il reste exécutable et permet ainsi de tester ton application en continu, via par exemple un serveur d'intégration continue (cf. ma signature sur Hudson par exemple). Sans test, ton code peut marcher, mais tu ne peux pas en avoir la certitude (sans compter qu'il peut fonctionner, mais ne pas répondre aux vrais besoins).
    Un exemple tout bête. Prennons une méthode qui fait des divisions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static double divise(double a, double b) {
        return a / b;
    }
    Là, tu écris ton code de test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @Test
    public void test_division() {
        assertEquals(2, MaClass.divise(8, 4));
        assertEquals(-3, MaClass.divise(-9, 3));
    }
    Et ainsi de suite. L'idée étant ainsi de pouvoir aussi tester des cas limites. Que se passe-t-il si j'appelle MaClass.divise(42, 0); ? Sans mes tests, peut-être que je m'apercevrait de mon erreur qu'une fois l'application en production. Aie ! Alors que si je fais bien mes tests, je prendrais en compte ce cas, et je pourrais le traiter avant de rencontrer ce bug...

    Idéalement, il est même préférable d'écrire ses tests avant le code lui-même. Cela s'appelle le TDD, ou Test Driven Development (Développement piloté par les tests en français). Mais là, on dépasse largement le sujet, mais renseigne toi là dessus, c'est très intéressant !
    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
    vinou92340
    Invité(e)
    Par défaut
    Merci mais je ne comprends pas trop ton test sur la méthode de division. Globalement, quand je lance les tests via maven, où est ce que celui ci va aller chercher la liste des paramètres qui seront divisés ? Si je les entre moi meme, le test ne sert à rien non ? Ou est ce à moi de mettre la valeur 0, de vérifier que tout passe et de laisser le test dans un coin pour le refaire plus tard après 250 motifs dans le code ? Et techniquement, le code du test ne diffère t il donc pas de celui du code ?

    Un autre point m'intrigue: L arborescence du projet que tu as mise. En effet le pom père vient d'un PROJET de packaging "pom" ? La partie et la partie java sont respectivement des modules enfants de packaging "war" et "jar" non ?

    Merci d'avance pour ta reponse.
    Dernière modification par vinou92340 ; 11/12/2012 à 21h01.

  6. #6
    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 : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par vinou92340 Voir le message
    Merci mais je ne comprends pas trop ton test sur la méthode de division. Globalement, quand je lance les tests via maven, où est ce que celui ci va aller chercher la liste des paramètres qui seront divisés ? Si je les entre moi meme, le test ne sert à rien non ? Ou est ce à moi de mettre la valeur 0, de vérifier que tout passe et de laisser le test dans un coin pour le refaire plus tard après 250 motifs dans le code ?
    Pourquoi le test ne servirait-il à rien ? C'est sûr que l'exemple que j'ai montré n'a pas grand intérêt, la méthode de division étant particulièrement isolée. Le but d'un test unitaire est double (en fait de tout type de test, qu'il soit unitaire ou non) :

    • S'assurer qu'une méthode fait bien ce que l'on attend d'elle. On peut même considérer que le test est une sorte de "spécification" du code, dans le sens où il explique ce que la méthode doit faire.
    • S'assurer qu'il n'y a pas de régression. Parfois, on écrit un code qui va indirectement changer le comportement d'un autre bout de code écrit auparavant. Si tu avais écrit des tests sur cet autre bout de code, ceux-ci vont désormais échouer (si tu mets en place l'intégration continue, tous tes tests sont exécutés très souvent), et tu sauras qu'il y a un problème avec ton code...

    Idéalement, à chaque fois que tu écrits du code, tu dois aussi écrire des tests. Comme ça, tu auras des tests sur toute une partie de ton application, qui assureront ainsi à tout moment que le code fait bien ce qu'il doit faire. Après, tu peux aussi faire des analyses de couverture de code (avec des outils comme Sonar - cf. ma signature -, Cobertura, JaCoCo, etc.) qui te permettent de dire quelle partie de ton code est testée, et quelle partie ne l'est pas.



    Citation Envoyé par vinou92340 Voir le message
    Et techniquement, le code du test ne diffère t il donc pas de celui du code ?
    Qu'entends-tu par là ? Ton code reste du code Java qui va appeler ton code de "production" (cela dit, les tests peuvent s'écrire dans d'autres langages, selon le type de test que tu souhaites écrire, mais c'est un autre sujet).

    Citation Envoyé par vinou92340 Voir le message
    Un autre point m'intrigue: L arborescence du projet que tu as mise. En effet le pom père vient d'un PROJET de packaging "pom" ? La partie et la partie java sont respectivement des modules enfants de packaging "war" et "jar" non ?
    Le projet parent n'est qu'en fait que l'agrégation des projets librairie et web. Il est de type pom car il n'a que le pom.xml comme livrable. En gros, dans ce pom, tu vas indiquer toutes les informations communes à tes modules, comme par exemple certaines dépendances, des informations sur ton projet (comme le lien vers SVN/Git/...), les profils, etc. Chaque module héritera de ce pom (ils définissent le projet parent comme <parent>).
    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

  7. #7
    vinou92340
    Invité(e)
    Par défaut
    Merci pour ta réponse.
    Cependant un dernier point. Techniquement, dans la partie test, je mets les cas qui peuvent poser problème. Donc, dans le cas de la division, le test de la méthode ne devrait il pas englober aussi l'appel avec 0 et donc s'écrire plutôt comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Test
    public void test_division() {
        assertEquals(2, MaClass.divise(8, 4));
        assertEquals(-3, MaClass.divise(-9, 3));
    assertEquals(-3, MaClass.divise(-9, 0));
    }
    En gros, j'englobe tous les cas qui peuvent poser problème ?
    Et ceci-fait, si je suis la méthode de développement piloté par le test, j'écris la méthode divise() en prenant en compte chacun de ces cas et en faisant en sorte qu'ils passent ?

    Au final, si je veux créer un projet avec deux modules. J'utilise un archétype struts2 pour le module web et un archétype hibernate pour la partie java (services, modèles, ...) auquel je rajoute une dépendance quartz (je souhaite bosser un peu le pl/sql et les packages). Je mets tout ça dans un projet simple, sans archétype et de packaging pom.
    D'une part, que penses tu de cette architecture et d'autre part quels archétypes me conseilles tu ? (enfin, lesquels utiliserais tu s'il te plait).

    Merci d'avance pour tes réponses et promis, je ne t'embêterais plus.

    PS: je m'excuse pour toutes ces questions mais je suis une formation de développeur dans un cfa où les profs ne savent même pas que "select * from tutu where nom='martin'" peut renvoyer zéro ou une ou plusieurs valeurs... De ce fait, j'essaye d'apprendre de mon coté les choses qui sont déjà implantées au travail (en alternance) dans le code des projets.
    Dernière modification par vinou92340 ; 12/12/2012 à 11h45.

  8. #8
    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 : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Un test doit pouvoir tester des valeurs "normales", mais aussi des valeurs limites (cas ici du 0, ou des valeurs null). Tu peux même écrire plusieurs tests pour une même fonction. Pour le cas de la division, je ferais des choses de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Test
    public void test_valeurs_normales() {
        assertEquals(0, MyClass.divise(0, 3));
        assertEquals(21, MyClass.divise(42, 2));
        assertEquals(-21, MyClass.divise(-42, 2));
        assertEquals(-21, MyClass.divise(42, -2));
    }
     
    @Test(expected=IllegalArgumentException.class)
    public void test_division_par_zero() {
        MyClass.divise(42, 0);
    }
    Ce 2e test est dédié à la division par 0. Pour que le test réussisse, il faut que l'appel à la méthode divise lance un IllegalArgumentException. Dans le code présenté précédement, ce test échouera. Je refactore donc mon code pour que le test passe au vert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static double divise(double a, double b) {
        if (b == 0) {
            throw new IllegalArgumentException("La divison par 0, c'est pas bien");
        }
        return a / b;
    }
    Et voilà ! Tu as pu voir un petit exemple de TDD là :

    1. Je sais que ma méthode doit gérer le cas où l'on demande une division par zéro. J'écris donc le test test_division_par_zero.
    2. Avec la première version du code, je m'assure que ce nouveau test échoue, parce que je n'ai pas encore développé cette fonctionnalité.
    3. Comme le test échoue, je modifie mon code de production (la méthode divise()) afin que le test passe au vert (et que tous les autres tests restent vert, ce qui signifie que je n'ai pas introduit de régression).
    4. Eventuellement (ici c'est un cas trop simple), je peux refactorer mon code de production pour le rendre plus simple, plus lisible, etc. Ceci se fait facilement car j'ai justement des tests unitaires qui vont m'assurer que mon code ainsi modifié continue à faire ce qu'il est censé faire.
    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

  9. #9
    vinou92340
    Invité(e)
    Par défaut
    Je rajoute un petit point édité pendant que tu répondais à mon message :

    "Au final, si je veux créer un projet avec deux modules. J'utilise un archétype struts2 pour le module web et un archétype hibernate pour la partie java (services, modèles, ...) auquel je rajoute une dépendance quartz (je souhaite bosser un peu le pl/sql et les packages). Je mets tout ça dans un projet simple, sans archétype et de packaging pom.
    D'une part, que penses tu de cette architecture et d'autre part quels archétypes me conseilles tu ? (enfin, lesquels utiliserais tu s'il te plait).
    De plus, il va de soit que je place la partie java dans la librairie de la partie web non ?
    Merci d'avance pour tes réponses et promis, je ne t'embêterais plus."

    Merci

  10. #10
    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 : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par vinou92340 Voir le message
    Je rajoute un petit point édité pendant que tu répondais à mon message :

    "Au final, si je veux créer un projet avec deux modules. J'utilise un archétype struts2 pour le module web et un archétype hibernate pour la partie java (services, modèles, ...) auquel je rajoute une dépendance quartz (je souhaite bosser un peu le pl/sql et les packages). Je mets tout ça dans un projet simple, sans archétype et de packaging pom.
    D'une part, que penses tu de cette architecture et d'autre part quels archétypes me conseilles tu ? (enfin, lesquels utiliserais tu s'il te plait).
    De plus, il va de soit que je place la partie java dans la librairie de la partie web non ?
    Merci d'avance pour tes réponses et promis, je ne t'embêterais plus."

    Merci
    Personnellement, je n'utilise pas les archetypes (à quelques rares exception près). Je ne les connais donc pas très bien. Je t'avouerais que je ne vois pas trop l'intérêt d'un archetype Hibernate si c'est juste pour créer un projet "normal", mais avec la dépendance Hibernate dedans...
    Pour la structure, tu as 2 choix :

    1. Partir uniquement avec un projet web, qui contient tout : le java, et le web.
    2. utiliser 2 modules, comme je l'avais décrit dans ma première réponse à ce thread. Le module web a bien entendu une dépendance directe au module java.
    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

  11. #11
    vinou92340
    Invité(e)
    Par défaut
    D'accord merci. Je vais donc partir de deux modules simples reliés à un projet pom. Je mets les librairies struts2 ou spring dans le module web et les librairies hibernate dans le module java. Par contre, dans l'interface eclipse, on utilise les serveurs pour déployer. Comment fais je donc pour rendre mon projet déployable sur le serveur de test tomcat ? Il y a t il une manip à effectuer ?

  12. #12
    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 : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Normalement, ça devrait être bon pour le module qui est de type "war". Soit tu l'as importé comme projet Maven via le plugin m2eclipse (support de Maven dans Eclipse) et ça devrait être bon, soit tu as utilisé le mvn eclipse:eclipse et dans ce cas-là, ce plugin aura dû mettre toutes les métadonnées liées au fait qu'il s'agisse d'un projet web.
    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

  13. #13
    vinou92340
    Invité(e)
    Par défaut
    En fait, j'ai créé de simples projets via le plugin, sans choix d archetype. Ensuite, j'ai trouvé sur le site de struts cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mvn eclipse:eclipse -Dwtpversion=1.5
    Et là cela marche mais j'ai une croix rouge sur mon module web maintenant.

    Bref, cela te semble bon ?

  14. #14
    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 : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    S'il y a une croix rouge, ce n'est pas nécessairement une bonne nouvelle
    Dans la vue "problèmes", tu as un message précis ?
    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

  15. #15
    vinou92340
    Invité(e)
    Par défaut
    Alors, d'une part, je n'ai plus de librairie maven dependencies qui apparait.
    Ensuite, j'ai ceci dans problems :

    Description Resource Path Location Type
    Java compiler level does not match the version of the installed Java project facet. LolaWeb Unknown Faceted Project Problem (Java Version Mismatch)

    Bon, j'ai reglé les problèmes en rajoutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
              <source>1.7</source>
              <target>1.7</target>
            </configuration>
    </plugin>
    et en modifiant la valeur du "project facet" de java à 1.7.

    Voilà. Maintenant je m en vais lutter avec le problème de classe struts non trouvée. Merci pour ton aide^^.
    Dernière modification par vinou92340 ; 13/12/2012 à 18h04.

  16. #16
    vinou92340
    Invité(e)
    Par défaut
    C est drole, j ai eu pas mal de problemes et j ai testé cette commande accompagnée d un refresh:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       clean install eclipse:clean eclipse:eclipse
    .

    Il s est averé que tous mes problèmes ont disparu et que le dossier de jars : "maven dependencies" a lui aussi disparu et que les librairies qu il contenait se sont retrouvées dans le dossier contenant les autres.

    Est ce une opération à faire à chaque ajout de dependences afin que tout soit configuré pour eclipse ?

    J ai aussi changé le maven embedded en maven externe que j avais téléchargé dans mon disque dur. De plus j ai fait une copie du fichieer settings.xml dans le dossier .m2 et j ai déclaré ce fichier et son conteneur (.m2) comme fichier settings.xml et repository utilisés en local. De ce fait, tout est téléchargé en local et je pense que cela devrait faciliter l ajout en tant que dépendence de la librairie ojdbc14 que j ai téléchargée sur le site d oracle.
    Pourrais tu me donner ton avis ?

    Je te remercie d avance pour tes réponses.

    Cordialement,

    Vinz
    Dernière modification par vinou92340 ; 13/12/2012 à 22h58.

  17. #17
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    L'utilisation du plugin maven eclipse:eclipse est déconseillé si tu souhaites utiliser M2E.

    En lançant ta commande clean/install avec maven tu n'as pas créé un projet M2E mais un simple projet maven utilisable dans Eclipse. A savoir: tu n'as pas la nature M2E sur ton projet eclipse... Et tu ne bénéficies pas des fonctionnalités de M2E.

    Tu peux très bien travailler ainsi, avec un maven externe (Romain te le conseillerait) mais bon, le plugin M2E est une réelle aide, lorsque l'on débute...

    Avec M2E tu peux directement créer un projet vide sans passer par eclipse:eclipse. Ensuite, M2E te fournit, ensuite, une aide pour l'ajout des dépendances.

    Note1: après un eclipse:eclipse tu peux ajouter la nature M2E en cliquant sur Configure/Convert to maven project pour bénéficier de l'aide M2E !

    Note2: il te faudra ajouter dans M2E l'extension WTP.

    Bon dèv.
    Philippe

  18. #18
    vinou92340
    Invité(e)
    Par défaut
    Merci.

    J'avoue ne pas utiliser beaucoup le plugin eclipse et bosser à partir de la console. Je perdrais alors le status de projet maven si je retirais le plugin ? A partir de là, je devrais faire:
    [mvn eclipse:clean, mvn eclipse:eclipse] pour configurer mon projet à chaque changement de dépendance ?
    Bref, je viens de tester l'ajout du plugin wtp et je dois avouer que ca regle tous mes problemes. Merci.

    J'ai aussi un dernier point qui me pose problème :
    J'essaie depuis 20 minutes d'ajouter cette librairie à mon répertoire .m2. Pour ce faire, j'utilise cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle
    -DartifactId=ojdbc6 -Dversion=11.1.0.7.0 -Dpackaging=jar
    -DgeneratePom=true
    Tous le monde sur internet dit que cela marche mais j'obtiens un build failure et on me demande un pom.xml.

    Que faire Oo ? Créer un pom.xml mais que mettre dedans ?

    Merci d'avance et désolé pour toutes mes questions ^^.

    Cordialement,

    Vincent
    Dernière modification par vinou92340 ; 14/12/2012 à 10h34.

  19. #19
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    On peut voir les traces ?

    Cette commande permet d'installer un jar dans ton repo local de maven.

    L'option generatePom est optionnelle. Mais celle-ci ne va pas te demander de pom bien au contraire...

    a+
    Philippe

  20. #20
    vinou92340
    Invité(e)
    Par défaut
    Arf, je viens de rererererereretester, c'est passé ^^.

    Merci

Discussions similaires

  1. Récupération de champs dans la mise en place d'un rapport
    Par MmeChoup dans le forum Salesforce.com
    Réponses: 8
    Dernier message: 21/03/2014, 09h18
  2. [Hibernate Search] Mise en place
    Par Ghunter59 dans le forum Hibernate
    Réponses: 0
    Dernier message: 20/03/2011, 14h46
  3. Mise en place Connexion Mysql + EJB 3 + Hibernate
    Par Thomshao dans le forum Glassfish et Payara
    Réponses: 3
    Dernier message: 01/12/2008, 19h21
  4. Problème de mise en place de datasource pour Hibernate
    Par K-Kaï dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 27/07/2006, 10h41
  5. Mise en place d'index....??
    Par liv dans le forum Requêtes
    Réponses: 6
    Dernier message: 18/12/2003, 11h04

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