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 :

soucis remplacement de texte maven-replacer-plugin


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 716
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 716
    Par défaut soucis remplacement de texte maven-replacer-plugin
    Bonsoir

    Je tente d'utiliser le plugin maven-replacer-plugin afin de remplacer du texte dans mon fichier web.xml lors de la génération de mon war sans succes.
    Toute la configuration est dans le pom.xml y compris le chargement du plugin.
    Je n'ai fais aucune autre manipulation pour installer ce plugin pour l'instant

    je lance un mvn war:war

    Merci d'avance de votre aide
    Philippe

    Dans 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
     
    <properties>
         <release.major>1</release.major>
         <release.minor>0</release.minor>
         <release.patch>0</release.patch>
         <release.env>Val</release.env>
      </properties>
     
     <pluginRepositories>
        <pluginRepository> 
            <id>maven-replacer-plugin reposoitory</id> 
            <url> 
                http://maven-replacer-plugin.googlecode.com/svn/release-repo
            </url> 
        </pluginRepository>
      </pluginRepositories>
    ....
    ...
    <plugins>
    	  <plugin> 
                <groupId>bakersoftware</groupId> 
                <artifactId>maven-replacer-plugin</artifactId> 
                <version>1.0.3</version> 
                <executions> 
                    <execution> 
                        <phase>prepare-package</phase> 
                        <goals> 
                            <goal>replace</goal> 
                        </goals> 
                        <configuration> 
                            <ignoreMissingFile>false</ignoreMissingFile> 
                            <file>target/WEB/WEB-INF/web.xml</file> 
                            <outputFile>target/WEB/WEB-INF/xweb.xml</outputFile> 
                            <regex>false</regex> 
                            <token>%MAJOR_VERSION%</token> 
                            <value>${release.major}</value> 
                        </configuration> 
                    </execution> 
                </executions> 
            </plugin> 
    	</plugins>
    mon fichier web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <context-param>
             <param-name>log4jConfigLocation</param-name>
             <param-value>file:${user.dir}/v%MAJOR_VERSION%_log4j.properties</param-value>
    	</context-param>

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Par défaut
    Je te conseillerai d'utiliser les fonctions natives du plugin war :
    http://maven.apache.org/plugins/mave...resources.html
    Je ne connais pas le plugin maven-replacer-plugin

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 716
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 716
    Par défaut
    Bonsoir

    je vais tester cela demain
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    pom.xml
     
     <resource>
    <directory>src/main/webapp/WEB-INF/web.xml</directory>
            <filtering>true</filtering>
          </resource>
     
    web.xml
    <context-param>
             <param-name>log4jConfigLocation</param-name>
             <param-value>file:${user.dir}/v${version.major}_log4j.properties</param-value>
    	</context-param>
    EN verifiant que le
    * cela fonctionne avec mvn war:war
    * ne change pas la valeur dans le repertoire source mais uniquement pour le répertoire "target"
    * que ce soit sur la bonne phase, je suppose la prepare-package
    * que la variable user.dir qui est une variable websphere ne soit pas remplace

    Merci

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 716
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 716
    Par défaut
    Re

    Cela fonctionne trop bien !
    a savoir que la variable $user.dir de mon web.xml ne doit pas etre remplace et prise tel qu'elle par websphere
    Comment filtrer que certaines valeurs
    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
     
    <plugins>
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1-beta-1</version>
            <configuration>
              <webResources>
                  <!-- this is relative to the pom.xml directory -->
                  <resource>
    			  <directory>${basedir}/src/main/webapp/WEB-INF</directory>
    			  <!-- override the destination directory for this resource -->
    			  <targetPath>WEB-INF</targetPath>
    			  <!-- the list has a default value of ** -->
                  <includes>
                    <include>**/web.xml</include>
                  </includes>
    	        <filtering>true</filtering>
        	  </resource>
              </webResources>
            </configuration>
          </plugin>
    	</plugins>

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Par défaut
    peut etre en utilisant $$user.dir pour échapper le $

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 716
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 716
    Par défaut
    Bonsoir

    Non le $$ ne fonctionne pas
    la variable websphere est transforme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <context-param>
             <param-name>test2mavenlog4jConfigLocation</param-name>
             <param-value>file:${user.dir}/properties/RAPL_WEBSERVICE${release.major}_log4j.properties</param-value>
    	</context-param>
     
    devient
    				<context-param>
             <param-name>test2mavenlog4jConfigLocation</param-name>
             <param-value>file:C:\Code\CC_Views\pb19030_RAP-project_Dev1_View1\dev_src-vob\RAP-component\WEB-RAPENLIGNE-WebService/properties/RAPL_WEBSERVICE1_log4j.properties</param-value>
    	</context-param>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		<context-param>
             <param-name>test4mavenlog4jConfigLocation</param-name>
             <param-value>file:$${user.dir}/properties/RAPL_WEBSERVICE%MAJOR_VERSION%_log4j.properties</param-value>
    	</context-param>
    devient
     
    <context-param>
             <param-name>test4mavenlog4jConfigLocation</param-name>
             <param-value>file:$C:\Code\CC_Views\pb19030_RAP-project_Dev1_View1\dev_src-vob\RAP-component\WEB-RAPENLIGNE-WebService/properties/RAPL_WEBSERVICE%MAJOR_VERSION%_log4j.properties</param-value>
    	</context-param>
    J'ai essayé avec antrun mais cela ne marche pas
    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
     
          <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>run</goal>
        </goals>
        <configuration>
          <tasks>
    		<replace value="${release.major}" token="%MAJOR_VERSION%">
      		<include name="${project.build.outputDirectory}/WEB-INF/web.xml" /> 
    	  	</replace>
          </tasks>
        </configuration>
      </execution>
    </executions>
    </plugin>
    Ce qui m'inqiuiete dans le antrun c'est que le echo ne se fait pas ???
    A PRIORI ON NE PASSE PAS DANS CE BLOC lorsque je fais mon war:war ????
    Mon pom ne contient que la section ci dessous, pas de dependance spécifique, faut il autre chose ?

    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
     
     <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <phase>prepare-package</phase>
        <goals>
          <goal>run</goal>
        </goals>
        <configuration>
          <tasks>
          <echo>AAAA${project.build.outputDirectory}</echo>
          		<replace value="${release.major}" token="%MAJOR_VERSION%">
      		<include name="${project.build.outputDirectory}/WEB-INF/web.xml" /> 
    	  	</replace>
          </tasks>
        </configuration>
      </execution>
    </executions>
    </plugin>

Discussions similaires

  1. [Plugin maven-changelog-plugin] Soucis d'encodage UTF-8
    Par JOJO_DE_LYON dans le forum Maven
    Réponses: 4
    Dernier message: 03/06/2008, 15h32
  2. Programme de remplacement de texte dans des fichiers
    Par Invité4 dans le forum Linux
    Réponses: 13
    Dernier message: 12/11/2006, 17h06
  3. Comment remplacer un texte ?
    Par EssaiEncore dans le forum Langage
    Réponses: 8
    Dernier message: 09/12/2005, 12h42
  4. Remplacer un texte par un autre
    Par Guillaume602 dans le forum C++
    Réponses: 3
    Dernier message: 24/11/2005, 01h40
  5. [langage] Remplacer du texte dans un fichier
    Par Michaël dans le forum Langage
    Réponses: 9
    Dernier message: 11/03/2005, 16h19

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