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 :

Je voudrais que maven génère les librairies dans l'EAR et non dans le WAR


Sujet :

Maven Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Je voudrais que maven génère les librairies dans l'EAR et non dans le WAR
    Bonjour,

    J'ai un projet ear contenant un war et je voudrais que les librairies soient embarquées au niveau du APP-INF/lib de l'EAR et non dans le WEB-INF/lib du WAR comme c'est le cas actuellement.
    J'ai déjà fait des recherches et ajouté des options qui sont sensées faire ça mais les librairies sont toujours au niveau du WAR.

    pom.xml de mon ear
    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
     
    <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>
    	<parent>
    		<groupId>fr.toto.appli</groupId>
    		<artifactId>appli_parent</artifactId>
      		<version>5.1-SNAPSHOT</version>
    	</parent>
    	<artifactId>appli_ear</artifactId>
    	<name>APPLI - EAR</name>
    	<packaging>ear</packaging>
    	<description>ear du projet appli</description>
    	<dependencies>
    		<dependency>
    			<groupId>${groupId}</groupId>
    			<artifactId>appli_war</artifactId>
    			<version>${version}</version>
    			<type>war</type>
    		</dependency>
     
    	</dependencies>
    	<build>
    		<plugins>
    			<plugin>
    				<artifactId>maven-ear-plugin</artifactId>
    				<configuration>
    					<displayName>APPLI</displayName>
    					<description>APPLI</description>
    	                <defaultLibBundleDir>
    	                   APP-INF/lib
    	                </defaultLibBundleDir>
    	                <includeLibInApplicationXml>
    	                    true
    	                </includeLibInApplicationXml>
    	                <archive>
    	                    <manifest>
    	                        <addClasspath>true</addClasspath>
    	                    </manifest>
    	                </archive>
    	                <version>5</version>
    					<modules>
    						<webModule>
    							<groupId>${groupId}</groupId>
    							<artifactId>appli_war</artifactId>
    						</webModule>
    					</modules>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>
    </project>
    pom de mon war (coupé)
    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
    <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>
    	<parent>
    		<groupId>fr.toto.appli</groupId>
    		<artifactId>appli_parent</artifactId>
      		<version>5.1-SNAPSHOT</version>
    	</parent>
    	<groupId>fr.toto.appli</groupId>
    	<artifactId>appli_war</artifactId>
    	<name>APPLI - Application Web</name>
    	<packaging>war</packaging>
     
     
    	<!-- ................................................................... -->
    	<!-- Dependencies                                                        -->
    	<!-- ................................................................... -->
     
    	<dependencies>
    		...
    	</dependencies>
     
     
    <build>
    	<plugins>
     
    		<!-- Creation d'un Builder Eclipse pour le deplacement de l&apos;applet DetectionEcran.class -->	
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-eclipse-plugin</artifactId>
    			<configuration>
     
    				<additionalBuildcommands>
    					<buildCommand>
    						<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
    						<triggers>auto,full,incremental,</triggers>
    						<arguments>
    							<LaunchConfigHandle>project./.externalToolBuilders/MoveAppletDetecteurEcran.launch</LaunchConfigHandle>
    						</arguments>
    					</buildCommand>
    				</additionalBuildcommands>
     
    				<additionalConfig>
    					<file>
    						<name>.externalToolBuilders/MoveAppletDetecteurEcran.launch</name>
    						<content>
    							...
    						</content>
    					</file>
    				</additionalConfig>
     
    			</configuration>
    		</plugin>
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-war-plugin</artifactId>
    			<configuration>
    				<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
    				<archive>
    					<manifest>
    						<addClasspath>true</addClasspath>
    						<classpathPrefix>APP-INF/lib/</classpathPrefix>
    					</manifest>
    				</archive>
    				<webResources>
    					<resource>
    						<directory>target/classes</directory>
    						<targetPath>applets</targetPath>
    						<includes>
    							<include>**/DetectionEcran.*</include>
    						</includes>
    						<filtering>false</filtering>
    					</resource>
    					<resource>
    						<directory>target/classes</directory>
    						<targetPath>/WEB-INF/classes</targetPath>
    						<includes>
    							<include>appli_war.version.properties</include>
    						</includes>
    						<filtering>true</filtering>
    					</resource>
    				</webResources>
    			</configuration>
    		</plugin>
     
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-surefire-plugin</artifactId>
    			<configuration>
    				<skip>${maven.test.skip}</skip>
    				<testFailureIgnore>true</testFailureIgnore>
    				<excludes>
    					<exclude>**/BaseStrutsTestCase.java</exclude>
    					<exclude>**/TestCaseArcadeFactory.java</exclude>
    				</excludes>
    			</configuration>
    		</plugin>
     
    	</plugins>
    </build>
     
    </project>


    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    C'est normal, il va mettre dans APP-INF/lib les dépendances de l'EAR et non du WAR.

    Une solution (un peu sale) consisterai à créer un module EJB vide, ayant tous tes jars en dépendances, et d'inclure ce module à ton EAR.

    Et encore, pas dit que ça fonctionne.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Points : 1 230
    Points
    1 230
    Par défaut
    Tu pourrais déclarer ton projet en tant que war, et créer un assembly pour ton ear via maven-assembly-plugin et le parametre ArchiverConfig.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse.

    J'ai fais la tentative avec un EJB, du coup le war ne compilait plus car il
    n'avait plus les jars nécessaires. J'ai ajouté une dépendance war vers ejb,
    et j'ai réussi à builder. Cela dit avec cette méthode, les librairies si les librairies sont bien dans l'ear, elles sont également dans le war et en plus l'EJB ne peut pas être complètement vide, il faut au moins un bean dedans.

    Donc c'est pas extra, je vais laisser maven faire comme il l'entend je pense.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    @Philippe,

    Je vais essayer ça du coup.
    Merci

Discussions similaires

  1. Accent correct dans le batch mais non dans le output txt
    Par Invité dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 14/05/2012, 17h02
  2. Les librairies de tags pour Struts non trouvées
    Par patriot dans le forum Struts 1
    Réponses: 7
    Dernier message: 14/12/2011, 17h09
  3. Réponses: 0
    Dernier message: 09/02/2011, 11h36
  4. Réponses: 0
    Dernier message: 12/10/2010, 11h58
  5. Charger des éléments dans un clip et non dans la scène
    Par adinx dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 16/04/2008, 18h02

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