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 :

probleme de packgaging


Sujet :

Maven Java

  1. #1
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 219
    Points : 74
    Points
    74
    Par défaut probleme de packgaging
    Bonjour a tous, j'aurai besoin d'un petit conseille.
    J'ai deux prochain un test et un projet. Mon test a besoin du deuxième projet
    voici le pom de mon projet test

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      <artifactId>LoteriesEnLigneWebTest</artifactId>
      <packaging>jar</packaging>
     
    ...
    <dependency>
        <groupId>com.portail</groupId>
        <artifactId>projet</artifactId>
         <version>1.0</version>
    </dependency>
    mais le projet est un war
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <artifactId>LoteriesEnLigneWeb</artifactId>
    <packaging>war</packaging>

    alors comment je peux packager le projet en jar dans le pom de
    projet test sans changer le pom de projet qui est un war
    merci d

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

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bonjour,

    J'avoue que tout cela n'est pas très clair. Que souhaites-tu au final exactement ?
    Si ton souhait est de générer également un .JAR en plus de ton projet .WAR (.JAR qui contiendra donc les classes compilées ainsi que les ressources), il te suffit d'ajouter dans ton pom.xml ceci :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.5</version>
                    <executions>
                        <execution>
                            <id>make-a-jar</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

    Ainsi, Maven créera ton .WAR comme actuellement, mais fournira aussi un .JAR de tes sources.
    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 régulier
    Inscrit en
    Mai 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 219
    Points : 74
    Points
    74
    Par défaut
    Code XML : 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
    <build>
    		<finalName>${project.artifactId}</finalName>
    		<sourceDirectory>src</sourceDirectory>
    		<testSourceDirectory>test</testSourceDirectory>
    		<resources>
    			<resource>
    				<directory>src</directory>
    				<excludes>
    					<exclude>**/*.java</exclude>
    				</excludes>
    			</resource>
    			<resource>
    				<directory>ressources</directory>
    				<excludes>
    					<exclude>**/*.java</exclude>
    				</excludes>
    			</resource>
    			<resource>
    				<directory>src/main/webapp/WEB-INF</directory>
    				<filtering>true</filtering>
    			</resource>
    		</resources>
    		<plugins>
    			<plugin>
    				<artifactId>maven-war-plugin</artifactId>
    				<configuration>
    					<webResources>
    						<resource>
    							<filtering>true</filtering>
    							<targetPath>WEB-INF</targetPath>
    							<directory>src/main/webapp/WEB-INF</directory>
    							<includes>
    								<include>*.xml</include>
    							</includes>
    						</resource>
    					</webResources>
    					<warSourceDirectory>WebContent</warSourceDirectory>	
    					<packagingExcludes>%regex[^WEB-INF/lib/(?:(?!spring-.+\.jar|tiles-.+\.jar|aopalliance-.+\.jar|commons-beanutils-.+\.jar|commons-digester-.+\.jar|commons-io-.+\.jar|ehcache-.+\.jar|ezmorph-.+\.jar|guava-.+\.jar|json-lib-.+\.jar).)+$]</packagingExcludes>
    				</configuration>
    			</plugin>
     			<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    
                    <executions>
                        <execution>
                            <id>make-a-jar</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    		</plugins>
    	</build>
    voici mon essai pour le mon projet du war qui se packagait en war deja
    en gras l'ajout de plugin tel que suggéré. Mais avec le maven install ,il n'y a toujours pas de jar.

    Mais l’idéal serait de laisse le pom projet telle quelle et arrive en packager le jar du projet a partir du pom de test.

    Comment faire cela

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

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Hello,

    Peux-tu vérifier s'il n'y a pas de JAR créé dans le répertoire target/ ?

    Sinon, seul le pom.xml du projet WAR peut définir la création d'un JAR. Tu ne peux pas demander à un autre projet / module (i.e. ton module de test) de créer un JAR d'un autre projet (le projet WAR). C'est au projet qui "héberge" les sources de définir quel(s) type(s) de package(s) il doit produire.
    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
    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
    Utiliser les war directement -> mauvaise idée: ça aboutira à plein d'emmerdes car la structure d'un war n'est pas celle d'un jar. Tu vas devoir ouvrir le war, bidouiller pour récupérer ce qui se trouve dans WEB-INF/classes et en recréer un autre jar. :s

    Il vaut mieux, comme suggéré, adapter ton projet war pour qu'il génère lui même un .jar tout propre. La solution donnée est la bonne, a l'exception qu'il manque un élémént important, le classifier. Sans ça, le fichier généré n'est pas attaché à la phase de déploiement et reste désespérément seul dans target/

    Code xml : 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
     
     			<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
     
                    <executions>
                        <execution>
                            <id>make-a-jar</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                            <configuration>
                             <classifier>simpleJar</classifier>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

    Et pour l'utiliser dans ton deuxième projet:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <dependency>
        <groupId>com.portail</groupId>
        <artifactId>projetWeb</artifactId>
         <version>1.0</version>
        <classifier>simpleJar</classifier>
    </dependency>

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  2. Réponses: 2
    Dernier message: 30/05/2002, 08h54
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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