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 :

maven-archetype-webapp "src/main/java" manquant


Sujet :

Maven Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Par défaut maven-archetype-webapp "src/main/java" manquant
    Bonsoir à tous,

    Je me permet d'ouvrir cette discussion car je débute en Maven et j'essai de créer une simple webapp à l'aide de Maven.

    Pour ce faire, j'ai utilisé la commande suivante :
    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-webapp
    La génération se fait sans aucun problème, cependant le résultat n'est pas du-tout celui auquel je m'attendais.

    Je m'explique :
    Après de multiple recherche sur le site de Maven j'ai cru comprendre que les projets générés devait correspondre à un standard le "Standard Directory Layout" qui est celui-ci :
    src/main/java Application/Library sources
    src/main/resources Application/Library resources
    src/main/filters Resource filter files
    src/main/assembly Assembly descriptors
    src/main/config Configuration files
    src/main/scripts Application/Library scripts
    src/main/webapp Web application sources
    src/test/java Test sources
    src/test/resources Test resources
    src/test/filters Test resource filter files
    src/site Site
    LICENSE.txt Project's license
    NOTICE.txt Notices and attributions required by libraries that the project depends on
    README.txt Project's readme
    Cependant lorsque je regarde le projet que je viens de créer, je ne retrouve pas le "src/main/java" et "src/test/java" .... De même dans le .classpath créer par mvn eclipse:eclipse il n'y a aucune référence au répertoire pour les sources Java...

    Je ne comprend pas trop pourquoi ... Normalement lors de la génération Maven, on devrait avoir des sources générées à l'identique du Standard Directory Layout non ??

    Est-ce que quelqu'un a déjà eu le même problème que moi ?

    Est-ce normal de ne pas avoir src/main/java et src/test/java lorsque l'on créé une webapp à partir de l'archetype Maven webapp ??

    Est-ce un bug de Maven ?

    Je vous remercie beaucoup pour votre aide

    Merci à tous.

  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,

    Je confirme qu'il ne créé pas les répertoires src/main/* et src/test/*. Sans doute est-ce une imperfection de l'archetype, qui veut peut-être simplement créer un squelette pour une application web, sans forcément être une application web Java.
    2 choix :

    • Créer ces répertoires; L'archetype ne permet la création que du squelette, après libre à toi de le modifier selon tes besoins.
    • Trouver un archetype plus adapté, en fonction par exemple du framework de présentation que tu souhaites utiliser (JSF, Spring MVC, etc.)
    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 confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Par défaut
    Bonjour,

    Merci beaucoup pour ta réponse romaintaz.

    Si c'est une imperfection de Maven, ne devrait-on pas ouvrir une anomalie auprès des développeurs de Maven justement ?

    D'autre part, connaîtrais-tu un archetype qui se rapprocherait le plus du Standard Directory Layout défini par Maven ?

    Merci beaucoup.

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Cet archetype ne crée qu'une structure webapp de base (un web.xml et un index.jsp)
    Pour les autres archetypes, voir ce qui est disponible en fonction des technos que tu veux utiliser.

    A noter que src/main/java et src/test/java ne sont nécessaire que si tu compte faire du code java dans la webapp. Souvent on se content de faire le code dans des projet jar et de les inclure comme dépendances.

    Personellement, je n'utilise jamais les artefact, je demande à eclipse de me créer un projet maven "basique" et je le configure selon mes besoin. Ce n'est pas comme si je devais créer 10 nouveaux projets web chaque jour, ça mérite bien d'y passer 10/15 minutes pour tout régler

    Aussi, je n'aime pas trop eclipse:eclipse. JE préfère de loin les plugins dans eclipse capable de gérer directement des projet maven, plutot que de jouer la synchronisation à la main

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Par défaut
    Merci beaucoup tchize_ pour ton message

    Je souhaite, comme tu l'as dit, faire une webapp contenant Struts 2, sitemesh et du code Java c'est pour cela que je ne comprenais pas pourquoi l'archetype maven webapp ne me génére pas et Quand tu dis que tu demandes à Eclipse de te générer un projet Maven de base, tu fais comment ? Moi mon Eclipse ne me le propose pas... Il doit surement me manquer quelque chose...

    Que me conseils tu pour faire ma webapp avec Maven, Struts 2 et sitemesh ?

    Merci encore pour ton aide

  6. #6
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Walkn Voir le message

    Quand tu dis que tu demandes à Eclipse de te générer un projet Maven de base, tu fais comment ? Moi mon Eclipse ne me le propose pas... Il doit surement me manquer quelque chose..
    Il te manque probablement les plugins eclipse pour ajouter le support maven

    http://eclipse.org/m2e/download/

  7. #7
    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
    Citation Envoyé par Walkn Voir le message
    Merci beaucoup tchize_ pour ton message

    Je souhaite, comme tu l'as dit, faire une webapp contenant Struts 2, sitemesh et du code Java (...)
    Tu peux peut-être regarder du côté de l'archetype Struts2 voir si l'un d'eux correspond plus à tes besoins :

    http://struts.apache.org/2.2.3/docs/...rchetypes.html

    Citation Envoyé par tchize_ Voir le message
    Il te manque probablement les plugins eclipse pour ajouter le support maven

    http://eclipse.org/m2e/download/
    Oui alors j'encourage Walkn à tester ce plugin, mais franchement, moi j'en suis revenu. J'arrive difficilement à travailler avec m2. Il a pas mal de défauts, gère moyennement bien les projets web (du moins dans mon expérience), il bouffe pas mal de ressources pour un gain finalement très (trop) faible. Bref, je suis revenu au bon mvn eclipse:eclipse. Alors c'est sûr qu'au démarrage d'un projet quand on ajoute beaucoup de dépendances, c'est un peu contraignant. Mais au moins, je n'ai pas de mauvaises surprises...
    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

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Par défaut
    Merci tchize_,

    Le plugin m2e va me permettre de faire du Maven au travers d'Eclipse c'est bien ça ? C'est une intégration de Maven ?

    D'autre part, quand tu dis :
    A noter que src/main/java et src/test/java ne sont nécessaire que si tu compte faire du code java dans la webapp. Souvent on se content de faire le code dans des projet jar et de les inclure comme dépendances.
    Si l'on souhaite faire une appli web Java avec Struts 2 par exemple, comment faire pour avoir à la fois un war et un jar contenant le code Java (Action struts 2 etc...)

    Je ne vois pas trop comment cela peut-être possible

    Merci pour ton aide.

  9. #9
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Il a pas mal de défauts, gère moyennement bien les projets web (du moins dans mon expérience), il bouffe pas mal de ressources pour un gain finalement très (trop) faible.
    Personellement, les avantages que je lui trouve c'est

    intégration des commandes maven à eclipse (on peux builder via maven et non pas via le compilo eclipse), recherche dans les repository pour trouver des dépendances, pas besoin de rédiger sois même le pom.xml, gestion des entrées csv / svn / etc, gestion des sous projets et des dépendances inter-projets (je ne pense pas que mvn eclipse:eclipse gère ça, mais je me trompe peut-être), téléchargement automatique des java sources et des java docs de chaque dépendances quand disponibles (un avantage considérable quand faut débugger), un editeur de pom.xml permettant d'explorer les hierarchie de dépendances (quand même plus pratique à lire que mvn tree).

    Je travaille avec des webapp aussi, et je n'ais pas de soucis, mes projets webapps sont reconnu comme tel. Je te l'accorde sans problème, ce plugin, il y a 3/4 ans c'était la cata. Les webapps étaient importées comme de simple projets java (fallait du coup éditer les fichiers eclipse pour ajouter la nature webapp), les 3/4 des plugins maven n'étaient pas reconnu, la recherche de dépendances foirait, le compilateur maven 3beta était... beta
    Je n'ai plus aujourd'hui qu'une seul webapp pas gérée entièrement correctement, c'est un vieux truc utilisant des overlay et des chipotage avec maven - ant - plugin pour faire des versions customs / lieu de déploiement



    Par contre les moins
    -> chiant à installer tellement il y a de sous dépendances optionnelles (genre lien maven -> cvs, lien maven -> svn, lien maven -> git, etc)
    -> Pas d'option pour "ajouter" un sous module. En général, les projet multi-modules, je crée le backbone à la main avec des poms basique, je commit et je "checkout as maven project". En même temps, je ne change pas mes structures de projets tous les jours.

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Par défaut
    Merci à tous les deux pour vos réponses j'y vois beaucoup plus clair à présent

    Je pense que je vais m'en sortir maintenant et je vais aussi regarder le plugin m2e pour ma culture et aussi regarder l'archetype maven struts 2.

    Encore merci pour tous ces conseils

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

Discussions similaires

  1. configuration d'un projet maven-archetype-webapp
    Par be.manucci dans le forum Maven
    Réponses: 0
    Dernier message: 17/11/2011, 22h51
  2. Réponses: 3
    Dernier message: 27/02/2010, 10h10
  3. Message d`erreur " error:cannot read : src/main/org/pache/tools/bzip2/*.java "
    Par wiss20000 dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 09/11/2007, 15h36
  4. [Maven 2] Installer le plugin archetypes-webapp
    Par Sniper37 dans le forum Maven
    Réponses: 5
    Dernier message: 23/03/2006, 08h43

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