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 :

mavenisation lbrairie projet


Sujet :

Maven Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 21
    Points
    21
    Par défaut mavenisation lbrairie projet
    Bonjour à tous

    je dispose d'un projet java que je veux "maveniser"
    comme référence j'ai ce fichier

    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
     
     <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
        <groupId> [ORGANISATION] </groupId>
        <artifactId> [PROJET] </artifactId>
        <name> [NOM DU PROJET] </name>
       <version> [VERSION DU PROJET] </version>
      <build>
            <sourceDirectory> [REPERTOIRE DES SOURCES] </sourceDirectory>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                      <source>1.5</source>
                      <target>1.5</target>
                  </configuration>
               </plugin>
            </plugins>
      </build>
      <properties>
      	<sonar.light>true</sonar.light>
      </properties>
    </project>
    Mon projet a une librairie je n'arrive pas à intégrer cette librairie dans ce fichier pom.xml du coup j'ai des erreur à la compilation avec maven
    Mon problème est que je dispose des fichier .jar qui constituent la librairie du projet que je veux mettre dans le fichier pom.xml
    s'il vous plait est ce que quelqu'un peut m'aider pour la gestion de cette bibliothèque dans le pom.xml

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Hum si je comprends bien tu veux rajouter des dépendances à ta librairie. Pour ça tu dois rajouter un élément dependancies directement sous project.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <dependencies>
    		<dependency>
    			<groupId>[ORGANISATION]</groupId>
    			<artifactId>[nom du projet]</artifactId>
    			<version>[version du projet]</version>
    		</dependency>
    </dependencies>
    Par contre pour que ça marche il faudra soit que la librairie en question soit sur le repository central de maven, soit en local et qu'elle ait elle-même un pom.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    je pense que je ne suis pas clair dans mes explications:

    je dispose d'un projet qui n'est pas construit par Maven . le projet en question n'a pas un pom.xml . Le projet marche il est ne présente aucune erreur à la compilation.
    Mon objectif est de créer créer un fichier pom.xml à ce projet
    à l'origine ce projet dispose
    un dossier lib avec des points jar (--.jar)
    un src ou sont classer mes sources

    voici le fichier pom.xml que je propose:
    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
     
    <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
     
        <groupId> [ORGANISATION] </groupId>
     
        <artifactId> [PROJET] </artifactId>
     
        <name> [NOM DU PROJET] </name>
     
       <version> [VERSION DU PROJET] </version>
      <build>
            <sourceDirectory> [REPERTOIRE DES SOURCES] </sourceDirectory>
     
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                      <source>1.5</source>
                      <target>1.5</target>
                  </configuration>
               </plugin>
            </plugins>
     
      </build>
      <properties>
      	<sonar.light>true</sonar.light>
      </properties>
    </project>
    Maintenant je veux que les fichier qui sont dans mon dossier lib soient gérer dans le fichier pom.xml

    si je fais ce votre proposition
    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
     
    <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
     
        <groupId> [ORGANISATION] </groupId>
     
        <artifactId> [PROJET] </artifactId>
     
        <name> [NOM DU PROJET] </name>
     
       <version> [VERSION DU PROJET] </version>
      <build>
            <sourceDirectory> [REPERTOIRE DES SOURCES] </sourceDirectory>
     
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                      <source>1.5</source>
                      <target>1.5</target>
                  </configuration>
               </plugin>
            </plugins>
     
      </build>
      <properties>
      	<sonar.light>true</sonar.light>
      </properties>
     
    <dependencies>
    		<dependency>
    			<groupId>[ORGANISATION]</groupId>
    			<artifactId>[nom du projet]</artifactId>
    			<version>[version du projet]</version>
    		</dependency>
    </dependencies>
     
    </project>
    cela ne marche pas est ce que vous pouvez m'aidez.

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Tout dépend de ce que sont ces librairies en fait, qu'est ce qui ne marche pas exactement ?

    Grosso modo il y a deux cas :

    Si ce sont des jar qui sont développés et compilés "maison" alors le mieux (à mon humble avis) est de les "maveniser" aussi. Là il faudra quand même voir si plusieurs personnes travaillent dessus car il faut une structure pour mettre les jar à leur disposition (ou le faire manuellement)

    Si ce sont des frameworks comme hibernate ou spring, maven devrait les récupérer tout seul lorsque tu ajoutes l'élément dependency. Il me semble qu'en général les sites de ces frameworks donnent tous un exemple d'élément à ajouter au pom d'un projet pour importer ces dépendances.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    j'ai trouvé une documentation sur la gestion des dépendances
    voila ce que ça donne :
    les exemples suivants décrivent de manière basique l'usage de la gestion des dépendances par le plugin Dependencies Generator.

    Goal : GENERATE
    dans le fichier pom.xml on ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <configuration>
    <libsDirectory>chemin librairie </libsDirectory>
    <searchNexus>false</searchNexus>
    en ligne de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    mvn fr.opensourceecm.maven:dependenciesGenerator-maven-plugin:0.2.1-beta-SNAPSHOT:generate
    -Ddg.libsDirectory=chemin librairie
    -Ddg.searchInNexus=false
    Ce que j'ai trouvé que je suis entrain de tester

    il y a aussi une autre manier de faire c'est de creer un script qui construit la librairie
    exemple :
    voici le scrit ( on l'appelle script.bat)
    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
     
    @ echo off
    cd C:\PERICLES\WebContent\WEB-INF\lib
    call mvn install:install-file -Dfile=commons-beanutils.jar -DgroupId=org.apache.commons.beanutils -DartifactId=commons-beanutils -Dversion=1.6 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=commons-collections.jar -DgroupId=org.apache.commons.collections -DartifactId=commons-collections -Dversion=2.1 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=commons-digester.jar -DgroupId=org.apache.commons.digester -DartifactId=commons-digester -Dversion=1.5 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=commons-fileupload.jar -DgroupId=org.apache.commons.fileupload -DartifactId=commons-fileupload -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=commons-lang.jar -DgroupId=org.apache.commons.lang -DartifactId=commons-lang -Dversion=1.0.1 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=commons-logging.jar -DgroupId=org.apache.commons.logging -DartifactId=commons-logging -Dversion=1.0.3 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=commons-validator.jar -DgroupId=org.apache.commons.validator  -DartifactId=commons-validator -Dversion=1.0.2 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=struts.jar -DgroupId=org.apache.struts -DartifactId=struts -Dversion=1.1 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=Struts-Layout.jar -DgroupId=fr.improve.struts.taglib.layout -DartifactId=Struts-Layout -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=struts-legacy.jar -DgroupId=org.apache.struts.legacy -DartifactId=struts-legacy -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=xdb.jar -DgroupId=oracle.xdb -DartifactId=xdb -Dversion=0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=xmlparserv2.jar -DgroupId=oracle.xml.parser.v2 -DartifactId=xmlparserv2 -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=servlet-api.jar -DgroupId=javax.servlet -DartifactId=servlet-api -Dversion=2.4 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    call mvn install:install-file -Dfile=rpDBPool_jdk1_4.jar -DgroupId=com.rp.database -DartifactId=rpDBPool_jdk1_4 -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true;
    ajoute dans pom.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <configuration>
    <libsDirectory>chemin librairie </libsDirectory>
    <generateScriptFile>true</generateScriptFile>
    <scriptFileName>script</scriptFileName>
    <scriptFileExtension>bat</scriptFileExtension>
    <searchNexus>false</searchNexus>
    </configuration>
    en ligne de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    mvn fr.opensourceecm.maven:dependenciesGenerator-maven-plugin:0.2.1-beta-SNAPSHOT:generate
    -Ddg.libsDirectory=chemin librairie
    -Ddg.generateScriptFile=true
    -Ddg.scriptFileName=script
    -DscriptFileExtension=bat
    -Ddg.searchInNexus=false
    voila en gros ce qu'il faut faire pour la gestion de librairie j'ai tester ça marche . si quelqu'un a une réflexion ...!
    c'est un peu dommage si je peux avoir plus simple je suis preneur Merci de votre compréhention

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Disons qu'à un moment ou à un autre tu dois "installer" les librairies de ton appli c'est à dire les déposer dans un repository. Ce plugin si j'ai bien compris parcourt le filesystem à la recherche des librairies pour créer le script qui les "installe".

    Après le but est de ne plus utiliser de dossier lib dans ton espace de travail. Le pom du projet fait référence à beanutils, collections, digester... Et si quelqu'un checkout le projet d'un contrôle de source, il sera capable de récupérer ces dépendances via maven ce qui vous évitera de stocker des jar dans ledit contrôle.

    Sinon coup classique, il faut mettre servlet-api en "provided" car il est sensé être fourni par le conteneur où tu déploies ton war

    Ca donne dans le pom de ton projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.4</version>
          <scope>provided</scope>
    </dependency>

Discussions similaires

  1. Maveniser un projet JEE NetBeans existant
    Par geforce dans le forum Maven
    Réponses: 5
    Dernier message: 07/11/2011, 11h11
  2. Réponses: 1
    Dernier message: 03/05/2011, 17h32
  3. maveniser projet eclipse web service axis2
    Par javadevelopper dans le forum Maven
    Réponses: 0
    Dernier message: 03/12/2009, 10h54
  4. Réponses: 2
    Dernier message: 23/06/2009, 13h06
  5. mavenisation projet : erreur Sun proprietary API
    Par allstar dans le forum Maven
    Réponses: 1
    Dernier message: 11/08/2008, 15h06

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