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érer les properties d'une dépendance


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Par défaut Récupérer les properties d'une dépendance
    A partir d'un projet P1, j'utilise un assembly.xml et le plugin maven-resources-plugin + son goal copy-resources pour:

    • exclure du .jar final, tous les fichiers properties du projet P1 (avec un <exclude>properties/*.properties</exclude> dans assembly.xml)
    • créer un dossier externe au .jar et contenant les properties qui étaient exclus (avec des include dans le plugin maven-resources-plugin).


    Seulement voilà, si cette opération fonctionne bien, les fichiers properties d'une des dépendances (projet P2) sont exclus du jar final.

    1. Pourquoi le wildcard *.properties a-t-il des répercussions sur la dépendance?

    1. A la limite l'exclusion des properties de la dépendance projet P2 ne me gêne pas alors comment faire dans le pom.xml pour inclure les properties de P1 et aussi ceux de P2?


    N'hésitez pas à me poser des questions si ce n'est pas clair... mais j'aurais bien voulu de l'aide

    D

  2. #2
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Par défaut hello
    Bonjour,

    Est ce quelqu'un aurait une idée?
    Je voudrais savoir si quelqu'un avait déjà eu ce cas où un assembly.xml agit sur des properties au-delà du projet cible, sur une dépendance?

  3. #3
    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
    si vous commenciez par donner votre assembly

  4. #4
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Par défaut assembly.xml et pom.xml
    Oui effectivement tu as raison: ça peut aider.

    Je mets ici l'assembly.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
     
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
      <id>executable</id>
      <formats>
        <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
     
      <dependencySets>
         <dependencySet>
             <scope>runtime</scope>
             <unpack>true</unpack>
     	 <excludes>
     	   <exclude>avalon*:*</exclude>
               <exclude>com*:*</exclude>
               <exclude>commons*:*</exclude>
               <exclude>dozer*:*</exclude>
               <exclude>log4j*:*</exclude>
               <exclude>logkit*:*</exclude>
               <exclude>org*:*</exclude>
               <exclude>pdf*:*</exclude>
               <exclude>saxon*:*</exclude> 
               <exclude>xalan*:*</exclude>
               <exclude>xpp*:*</exclude>
               <exclude>xml-apis*:*</exclude>  
              </excludes>
           <unpackOptions>
          	<excludes>
    			<exclude>help.properties</exclude>
    			<exclude>log4j.xml</exclude>			
    			<exclude>properties/*.properties</exclude>	
           	</excludes>
          </unpackOptions>
        </dependencySet>
       </dependencySets>
    </assembly>
    Maintenant le profil que j'utilise pour assembly:assembly
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <profile>
      <id>avecextern</id>
      <build>		
      <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <configuration>
        <descriptors>
          <descriptor>src/main/assembly/assembly.xml</descriptor>
        </descriptors>
        <archive>
          <manifest>
    	<mainClass>fr.myMainClass</mainClass>
    	<addClasspath>true</addClasspath>
    	<classpathPrefix>lib/</classpathPrefix>
          </manifest>
          <manifestEntries>
             <Class-Path>${ClassPath}</Class-Path>	
          </manifestEntries>
         </archive>
         <finalName>P1-${maven.build.timestamp}</finalName>
         <outputDirectory>${Depot}\${env}</outputDirectory>				
        </configuration>	
       </plugin>		
     
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
         <version>2.1</version>
         <executions>
    	<execution>
    	  <id>copy-dependencies</id>
    	  <phase>package</phase>
    	  <goals>
    	    <goal>copy-dependencies</goal>
    	  </goals>
    	  <configuration>
    	    <outputDirectory>${Depot}\${env}</outputDirectory>
    	    <stripVersion>false</stripVersion>
    	    <excludeArtifactIds>P2,P3,P4</excludeArtifactIds>
      	    <includeScope>runtime</includeScope>
    	   </configuration>
            </execution>
         </executions>
       </plugin>
     
       <plugin>
         <artifactId>maven-resources-plugin</artifactId>
         <version>2.4.3</version>
    	<executions>
    	  <execution>
    	    <id>copy-resources</id>
    	    <phase>package</phase>
    	    <goals>
    		<goal>copy-resources</goal>
    	    </goals>	
    	    <configuration> 
    		<outputDirectory>${Depot}\${env}</outputDirectory>
    		<resources> 
    		  <resource>
    		    <targetPath>properties</targetPath>
    		    <directory>
                            ${basedir}/src/main/resources/properties
                        </directory> 
    		   <filtering>true</filtering> 
    		   <includes>
    		     <include>propriete1A.properties</include>
    		     <include>propriete1B.properties</include>
    		   </includes>	
    		  </resource>
    		  <resource>
    		    <directory>${basedir}/src/main/resources</directory> 
    		    <includes>
    		      <include>help.properties</include>																					
    		      <include>log4j.xml</include>	
    		    </includes>
    		  </resource>
    		</resources> 
    	      </configuration> 
    	    </execution>
    	   </executions>
    	</plugin>					
         </plugins>
       </build>
    </profile>

  5. #5
    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
    ce n'est pas de votre projet, mais uniquement des dépendances de votre projets que vous retirez explicitement les properties:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
           <unpackOptions>
          	<excludes>
    			<exclude>help.properties</exclude>
    			<exclude>log4j.xml</exclude>			
    			<exclude>properties/*.properties</exclude>	
           	</excludes>
          </unpackOptions>
    Pour filtrer votre projet principal, c'est quelque chose dans ce gout la

    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
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
      <id>distribution</id>
      <formats>
        <format>jar</format>
      </formats>
      <fileSets>
        <fileSet>
          <directory>src/main/resources</directory>
          <excludes>
            <exclude>properties/*.properties</exclude>
          </excludes>
        </fileSet>
      </fileSets>
    </assembly>

  6. #6
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Par défaut
    Bonjour,

    Merci pour la proposition. J'ai essayé cette solution mais l'exclusion n'a pas d'effet. Lorsque j'ouvre le jar exécutable ces fichiers properties sont toujours inclus.
    Quelle version du plugin assembly utilisez-vous? Peut-être que c'est ça le problème?

    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
     
     
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
      <id>executable</id>
      <formats>
        <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
       <fileSets>
        <fileSet>
          <directory>src/main/resources/properties</directory>
          <excludes>
            <exclude>*.properties</exclude>
          </excludes>
        </fileSet>
      </fileSets>
      <dependencySets>
         <dependencySet>
             <scope>runtime</scope>
             <unpack>true</unpack>
     	 <excludes>
     	   <exclude>avalon*:*</exclude>
               <exclude>com*:*</exclude>
               <exclude>commons*:*</exclude>
               <exclude>dozer*:*</exclude>
               <exclude>log4j*:*</exclude>
               <exclude>logkit*:*</exclude>
               <exclude>org*:*</exclude>
               <exclude>pdf*:*</exclude>
               <exclude>saxon*:*</exclude> 
               <exclude>xalan*:*</exclude>
               <exclude>xpp*:*</exclude>
               <exclude>xml-apis*:*</exclude>  
             </excludes>
        </dependencySet>
       </dependencySets>
    </assembly>

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/12/2011, 16h02
  2. Récupérer les sources d'une dépendance
    Par verbose dans le forum Maven
    Réponses: 1
    Dernier message: 08/03/2010, 15h52
  3. [VB.NET] Récupérer les caractéristiques d'une couleur
    Par leSeb dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/08/2004, 15h03
  4. [Servlet] récupérer les champs d'une jsp
    Par phoebe dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/05/2004, 16h32

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