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 :

Version d'un pom.xml dans une JSP


Sujet :

Maven Java

  1. #1
    Membre du Club
    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
    Points : 59
    Points
    59
    Par défaut Version d'un pom.xml dans une JSP
    Bonjour à tous,

    Voilà je me permet de poster cette nouvelle discussion qui je pense pourras en aider plus d'un

    Je suis actuellement en train de réaliser une application Web J2EE avec Maven 2 et Struts 2 et je souhaiterais mettre en place une JSP permettant de consulter la version de l'application qui est déployée sur mon serveur.

    Dans un premier temps, j'ai mis en place un fichier "version.txt" mais j'aimerai pouvoir utiliser le "version" se trouvant dans le pom.xml de mon application.

    Première question : Est-ce possible ?

    Si oui, comment faire ?

    J'avais pensé à : dans une JSP "version.jsp" mais cela ne fonctionne pas.

    Est-ce quelqu'un d'entre vous à déjà mis en place ce genre de solution et saurait m'aider ?

    Je vous remercie par avance pour l'aide que vous pourrez me fournir

  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
    Soit tu le met dans une fichier texte maintenu à jour via l'utilisation d'un ressource indiquée dans le pom.xml comme étant "filtered".

    Soit, plus simple selon moi, tu va chercher l'information dans le dossier META-INF/maven qui est créer avec tout jar (et donc, je pense, aussi avec le war).

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Points : 794
    Points
    794
    Par défaut
    Dans un système Maven, c'est Maven qui tiens la version.
    Ainsi, le référentiel de la version est situé dans le descripteur Maven (pom.xml).
    D'autres resources peuvent obtenir cette version via des techniques de filtre Maven.

    Voici des exemples de solution:

    1. Version.txt
    Si tu souhaites populer la version dans un fichier version.txt.
    a) Créer un fichier version.txt dans le répertoire de resources src/main/resources avec le contenu suivant
    b) Active le filtering des resources dans ton pom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <build>
    ...
    <resources>
         <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
         </resource>
    </resources>
    ...
    </build>
    Le fichier version.txt parsé, contenant la version, se retrouve dans le cas d'un projet Web dans WEB-INF/classes. A toi ensuite de mettre en oeuvre la glue nécessaire pour le parser.

    2. Version.jsp
    a. Spécifie dans une JSP version.jsp situé dans src/mai/webapp, le contenu suivant (identique au contenu précédent):
    b. Spécifie dans ton pom le contenu suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <build>
    ...
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
              <webResources>
                <resource>
                   <directory>src/main/webapp</directory>
                   <filtering>true</filtering>
                </resource>
              </webResources>
            </configuration>
          </plugin>
        </plugins>
    ...
    </build>
    La JSP avec la version résolu se retrouve à la racine de la webapp générée par Maven.

  4. #4
    Membre du Club
    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
    Points : 59
    Points
    59
    Par défaut
    Merci gboissinot pour ces réponses.

    Je viens d'essayer de créer un fichier version.jsp avec ce qui va bien dans le pom.xml mais lorsque j'afficher ma JSP elle est vide.

    Je ne comprend pas pourquoi ..

    Est-ce parce que je suis sous Eclipse ?

    Ai-je oublié quelque chose ?

    Voici mon pom.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.test.version</groupId>
      <artifactId>maven-test</artifactId>
      <packaging>war</packaging>
      <version>0.0.1-SNAPSHOT</version>
      <name>maven-test Maven Webapp</name>
      <url>http://maven.apache.org</url>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        <dependency>
    	    <groupId>taglibs</groupId>
    	    <artifactId>standard</artifactId>
    	    <version>1.1.2</version>
    	    <type>jar</type>
    	    <scope>compile</scope>
    	</dependency>
        <dependency>
    	    <groupId>javax.servlet</groupId>
    	    <artifactId>jstl</artifactId>
    	    <version>1.1.2</version>
    	    <type>jar</type>
    	    <scope>compile</scope>
    	</dependency>
      </dependencies>
      <build>
      <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
              <webResources>
                <resource>
                   <directory>src/main/webapp</directory>
                   <includes>
    			   	<include>**/*.jsp</include>
    			   </includes>
                   <filtering>true</filtering>
                </resource>
              </webResources>
            </configuration>
          </plugin>
        </plugins>
        <finalName>maven-test</finalName>
      </build>
    </project>
    J'ai aussi fait un mvn eclipse:clean et mvn eclipse:eclipse via le plugin maven "m2".


    Ps: J'ai redémarré mon Tomcat et republier l'application mais rien n'y fait

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Points : 794
    Points
    794
    Par défaut
    Cette configuration Maven est lié au plugin maven-war-plugin.
    Celui-ci est activé au moment de la phase 'package' du cycle de vie du build Maven.
    Il te faut donc invoquer la commande Cela a pour effet de générer la webapp cible dans le répertoire target.
    Et dans ce cas, la JSP devrait être bien processée.

    L'intégration dans Eclipse est une autre problématique mais ne prend pas en compte cette configuration.
    Cependant, dans ce cas, ne pas avoir ta JSP parssée dans Eclipse n'est pas grave.
    L'important est que le fichier JSP contenu dans ton archive web (WAR) finale soie correcte.

    Je te suggère de faire le test du déploiement de ton archive WAR dans un Tomcat standalone et de vérifier que c'est correcte.

  6. #6
    Membre du Club
    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
    Points : 59
    Points
    59
    Par défaut
    Meric pour ton retour rapide sur ce sujet.

    Je vais essayer ce matin et je te dirais le résultat.

    Cependant n'est-il pas possible d'avoir un fonctionnement équivalent "sous Eclipse" ?

  7. #7
    Membre du Club
    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
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par Walkn Voir le message
    Meric pour ton retour rapide sur ce sujet.

    Je vais essayer ce matin et je te dirais le résultat.

    Cependant n'est-il pas possible d'avoir un fonctionnement équivalent "sous Eclipse" ?
    Je viens de faire un est j'ai du déployer mon application dans un Tomcat standalone.

    J'ai bien constaté que cela fonctionne merci beaucoup gboissinot

    Cependant j'ai une autre question au sujet du Tomcat. Pourquoi doit-on utiliser un Tomcat standalone ? Ne peut-on pas utiliser le Tomcat que l'on créé via les Servers sous Eclipse?

    Ce que je ne comprend pas c'est que sous Eclipse j'ai fait pointer mon Server Tomcat sur le répertoire contenant mon Tomcat standalone et dans Eclipse il ne deploie pas le WAR.

    Or si je lance le Tomcat à l'aide du "startup.bat" dans le repertoire bin de celui-ci, mon application WAR est bien déployée.

    Je n'arrive pas à comprendre la différence.

    Aurais-tu une expliquation pour m'aiguiller sur la compréhension de ce point ?

    Merci beaucoup pour ton retour.

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Points : 794
    Points
    794
    Par défaut
    Il te faut distinguer deux phases au niveau de ton projet: Développement et intégration

    En développement, tu dois continuer à utiliser ton environnent Eclipse et le déploiement sous Tomcat à travers Eclipse.
    En revanche, tu ne peux pas dans ce cas bénéficier de l'intégration complète de Maven pour ce besoin particulier avec le processing de ta JSP.
    En résumé, tout marchera en développement, excepté que la valeur du champs version qui restera dans ta JSP: ${project.version}.
    Ceci nest pas grave, pas bloquant.

    En revanche, lors de la phase d'intégration de ton application, composée au minium de ton build Maven et du déploiement de ton archive dans un container ou serveur Web standalone (tomcat ou autre), le champs version de ta JSP sera correcte.
    Donc pour la production, cela sera OK.

  9. #9
    Membre du Club
    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
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup pour toutes ces précisions

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

Discussions similaires

  1. Mise en Page d'un document xml dans une JSP
    Par sami117 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/01/2010, 19h32
  2. [ XML ][ XSL ][ JSP ] afficher du xml dans une JSP
    Par zozolh2 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 17/07/2009, 20h34
  3. Récupération d'une variable XML dans une JSP
    Par drumtof dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 17/06/2009, 15h45
  4. Inclure un editeur XML dans une JSP
    Par Raphael_Lemaire dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 07/03/2009, 17h42
  5. fichier xml dans une jsp
    Par mystro7200 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/02/2009, 18h24

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