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 :

Dépendance de type pom corporate et gestion jar


Sujet :

Maven Java

  1. #1
    Invité
    Invité(e)
    Par défaut Dépendance de type pom corporate et gestion jar
    Bonjour,

    je viens vers vous afin d'avoir de l'aide sur la mise en place de maven dans un projet.
    Je souhaiterai avoir un structure du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /proxy/pom.xml
    /proxy/spring/pom.xml
    /proxy/hibernate/pom.xml
    /proxy/backendA/pom.xml
    /proxy/backendB/pom.xml
    /parent/pom.xml
    /test/test-spring/pom.xml
    /test/test-hibernate/pom.xml
    ...
    dans /proxy/spring/pom.xml j'ai mis:
    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
        <groupId>project</groupId>
        <artifactId>proxy-spring</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>pom</packaging>
     
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                    <version>4.0.0.RELEASE</version>
                    <scope>compile</scope>
                </dependency>
                <dependency>
                    <groupId>groupA</groupId>
                    <artifactId>artifactB</artifactId>
                    <version>versionXXX</version>
                    <scope>compile</scope>
                </dependency>
                ....
            </dependencies>
        </dependencyManagement>

    dans le /parent/pom.xml j'ai mis:
    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
        <groupId>project</groupId>
        <artifactId>parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>pom</packaging>
     
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>project</groupId>
                    <artifactId>proxy-spring</artifactId>
                    <version>0.0.1-SNAPSHOT</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

    dans le pom.xml du test-spring je voulais mettre:
    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
        <modelVersion>4.0.0</modelVersion>
     
        <parent>
            <groupId>project</groupId>
            <artifactId>parent</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
     
        <artifactId>test-spring</artifactId>
        <packaging>jar</packaging>
     
        <dependencies>
            <dependency>
                <groupId>project</groupId>
                <artifactId>proxy-spring</artifactId>
            </dependency>
        </dependencies>

    cependant quand je tente la compilation du moduleA j'ai l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    The project project:test-spring:0.0.1-SNAPSHOT (E:\Development\Java\project\test\test-spring\pom.xml) has 1 error
      'dependencies.dependency.version' for project:proxy-spring:jar is missing. @ line 18, column 21
    ce que je souhaiterai avoir c'est avoir automatiquement l'ensembles des dépendances de proxy-spring dans mon projet test-spring sans devoir toutes les déclarer dedans. (Ici je n'ai qu'une dépendance, mais nous en avons bien plus dans le projet final)

    Merci.
    Dernière modification par Invité ; 25/05/2019 à 18h59. Motif: Coloration syntaxique [CODE=XML] ... [/CODE]

  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,

    Première chose : d'après ce que je vois, proxy-spring ne définit aucune dépendance. Le bloc dependencyManagement permet de dire "si j'utilise quelque part ailleurs une dépendance présente dans ce bloc, alors on utilisera la version définie ici". Mais mettre spring-context:4.0.0.RELEASE dans un bloc dependencyManagement ne veut pas dire que ce module est dépendant de cette librairie de Spring. Il faut donc la déclarer dans un bloc dependencies. Là, un module dépendant de proxy-spring sera - par transitivité - aussi dépendant de spring-context (et les autres dépendances définies dans <dependencies>).

    Ensuite, le problème de compilation indique que tu ne déclares pas la version de proxy-spring. Là j'avoue que comme ça, je ne vois pas trop ce qui cloche, car tu hérites de parent qui définit la version de proxy-spring.

    Petite question : pourquoi ne pas mettre les dépendances dans le projet parent ?
    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
    Invité
    Invité(e)
    Par défaut
    Bonsoir et merci pour cette première réponse.

    Je viens d'essayer ta solution

    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
        <modelVersion>4.0.0</modelVersion>
     
        <groupId>project</groupId>
        <artifactId>proxy-spring</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>pom</packaging>
     
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
        </dependencies>

    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
        <modelVersion>4.0.0</modelVersion>
     
        <groupId>project</groupId>
        <artifactId>parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>pom</packaging>
     
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>project</groupId>
                    <artifactId>proxy-spring</artifactId>
                    <version>0.0.1-SNAPSHOT</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

    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
        <modelVersion>4.0.0</modelVersion>
     
        <parent>
            <groupId>project</groupId>
            <artifactId>parent</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
     
        <artifactId>test-spring</artifactId>
        <packaging>jar</packaging>
     
        <dependencies>
            <dependency>
                <groupId>project</groupId>
                <artifactId>proxy-spring</artifactId>
            </dependency>
        </dependencies>

    cependant dans test-spring j'ai une erreur comme quoi il ne trouve pas proxy-spring. Pourtant j'ai bien un dependenciesManagement dans le pom parent. Je pensais que les enfants pourrait le voir sans problème.

    De plus avec cette solution, mon projet test-spring ne peut pas voir les jars spring-context...

    Mon but est de simplifier la gestion des dépendences en utilisant des pom. Ainsi en déclarant proxy-spring dans mon pom de test-spring pouvoir utiliser l'ensembles des dépendences sans devoir les déclarer toutes.
    Dernière modification par Invité ; 25/05/2019 à 18h58. Motif: Coloration syntaxique [CODE=XML] ... [/CODE]

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/03/2012, 21h16
  2. packaging de type pom
    Par storm_2000 dans le forum Maven
    Réponses: 3
    Dernier message: 24/09/2008, 12h17
  3. Réponses: 3
    Dernier message: 15/05/2008, 09h17
  4. Dépendances de type POM dans un POM War
    Par youpla dans le forum Maven
    Réponses: 6
    Dernier message: 29/02/2008, 11h53
  5. Réponses: 1
    Dernier message: 07/01/2008, 10h42

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