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 :

Exclusion dependance transitive avec plug in WAR


Sujet :

Maven Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut Exclusion dependance transitive avec plug in WAR
    Bonjour

    Je crée une dépendance vers une librairie dans le pom de mon WAR, mais je souhaiterais qu'il ne me l'ajoute pas dans le répertoire lib du WAR mais uniquement faire une référence dans le classpath du Manifest.

    j'arrive à exlcure la librairie crée en dépendance mais il me rajoute quand même les dépendances transitive de ce dernier

    voici mon POM

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <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.axabanque</groupId>
        <artifactId>crm.tarification</artifactId>
        <version>1.1-SNAPSHOT</version>
      </parent>
     
      <name>${parent.artifactId}.rules.httprx</name>
      <artifactId>${parent.artifactId}.rules.httprx</artifactId>
      <packaging>war</packaging>
     
      <dependencies>
          <dependency>
      		<groupId>ilog</groupId>
      		<artifactId>httprx</artifactId>
      		<version>6.5.1</version>
      		<type>war</type>
    		<scope>runtime</scope>
        </dependency>
      	<dependency>
      		<groupId>${parent.groupId}</groupId>
    	   	<artifactId>${parent.artifactId}.impl</artifactId>
    	   	<version>${pom.version}</version>
                    <!-- exclue la librairie du war -->
    	   	<optional>true</optional>
    	   	<type>jar</type>
    	</dependency>
      </dependencies>
     
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
              <archive>
                <!-- ajoute les dépendances dans le classpath du Manifest -->
                <manifest>
                  <addClasspath>true</addClasspath>
                </manifest>
              </archive>
            </configuration>
          </plugin>
        </plugins>
      </build>
     
    </project>

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Lenoiche Voir le message
    Bonjour

    Je crée une dépendance vers une librairie dans le pom de mon WAR, mais je souhaiterais qu'il ne me l'ajoute pas dans le répertoire lib du WAR mais uniquement faire une référence dans le classpath du Manifest.

    j'arrive à exlcure la librairie crée en dépendance mais il me rajoute quand même les dépendances transitive de ce dernier
    Je crois que la feinte est de la mettre en scope provided. Elle ne sera plus dans ton WAR, reste à vérifier qu'elle est toujours dans le manifeste.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    avec le scope provided, je n'ai plus les librairies dans le repertoire lib mais je ne les ai plus dans le manifest ...

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Lenoiche Voir le message
    avec le scope provided, je n'ai plus les librairies dans le repertoire lib mais je ne les ai plus dans le manifest ...
    Effectivement, tout est expliqué là : http://maven.apache.org/plugins/mave...est-guide.html

    A priori, dans ton cas, tout ce que tu peux faire est mettre en <optional>true</optional> et exclure manuellement toutes les dépendances. C'est sale, mais d'après la doc, c'est ta seule chance....

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Oui je ne pense pas qu il y ai une solution simple et exclure manuellement les dépendance n'est pas gérable, car ce sous module sera utilisé par d'autres projets, avec des dépendances différentes

    Je vais me pencher plutôt à utiliser ANT dans mon POM
    genre effacer toutes les librairies dans le repertoire temporaire de sources ...

  6. #6
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Lenoiche Voir le message
    Oui je ne pense pas qu il y ai une solution simple et exclure manuellement les dépendance n'est pas gérable, car ce sous module sera utilisé par d'autres projets, avec des dépendances différentes
    Je parlais de les exclure directement dans ce module. Tu n'aurais que ce module à modifier pas ceux qui utilisent ce module.

    Tu déclare simplement ta dépendance en optionnal et tu lui rajoute un exclude ou tu liste toutes ses dépendances. A mon avis, c'est mieux que ant. Ant ne sera certainement pas transitif...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    je me suis mal exprimé

    j'ai plusieurs projets

    dans chaque projet j'utilise un module qui me generera un WAR

    dans ce war, j'ai un overlay et une dépendance sur une librairie différentes selon le projet

    donc pour chaque projet il faudra que je déclare les exclusions une par une

    imaginons que je modifie la librairie utilisé en dépendance dans mon WAR , et que je lui rajoute une nouvelle dépendance, il faudra que je pense à l'exclure dans mon module WAR

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour !
    Je me permets de remonter la discussion car je rencontre un problème similaire ...
    J'ai besoin de certaines librairies dans mon war, donc je mets les autres en <scope>provided</scope>, jusque là tout va bien. Par contre, il me met toutes les dépendances filles des dépendances spécifiées dans mon war, ce qui fait un peu beaucoup ...
    Est ce que si je declare les filles en exclusions ça ne posera pas problème à l'install ? y a t'il un moyen de ne pas inclure ces dépendances (qui ne sont déclarées nulle part en tant que telles) ?

    Bob.

Discussions similaires

  1. [MooTools] transitions avec mootools !
    Par banzoner dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 25/05/2009, 17h33
  2. Réponses: 4
    Dernier message: 05/02/2009, 15h17
  3. Fixer le temps des transition avec visionneuse powerpoint
    Par opiece dans le forum Powerpoint
    Réponses: 1
    Dernier message: 11/02/2008, 11h36
  4. déploiement d'application sous TOMCAT avec un fichier war
    Par flamant dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 23/09/2007, 19h00
  5. extension php5 avec plug-in zend phpide (eclipse)
    Par zeke_zand dans le forum Zend
    Réponses: 3
    Dernier message: 05/02/2007, 17h23

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