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 :

Générer un Jar avec dépendance puis l'intégrer dans une archive Zip.


Sujet :

Maven Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut Générer un Jar avec dépendance puis l'intégrer dans une archive Zip.
    Bonjour à tous,

    J'ai un petit soucis. J'aimerais pouvoir générer un Jar exécutable de mon application puis par la suite l'intégrer dans une archive Zip.

    Pour le moment j'ai seulement effectué l'étape de la génération du Jar.

    Voici le Pom et Assembly :

    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
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    <?xml version="1.0" encoding="UTF-8"?>
    <project>
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>OUATE</groupId>
    	<artifactId>jAriane</artifactId>
    	<packaging>jar</packaging>
    	<version>2.3.0</version>
     
    	<reporting>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-javadoc-plugin</artifactId>
    				<version>2.7</version>
    				<configuration>
     
    				</configuration>
    			</plugin>
    		</plugins>
    	</reporting>
     
    	<build>
     
    		<!-- Définition de l'arborescence "OUATE" -->
    		<sourceDirectory>src</sourceDirectory>
    		<testSourceDirectory>test</testSourceDirectory>
     
    		<defaultGoal>clean install</defaultGoal>
     
    		<!-- Inclusion des fichiers ressources pour les tests automatiques -->
    		<testResources>
    			<testResource>
    				<directory>test/com/tas/ouate/jariane/common/util/resources</directory>
    			</testResource>
    		</testResources>
     
     
    		<plugins>
     
    			<!-- Plugin pour la compilation -->
    			<plugin>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<configuration>
    					<source>1.6</source>
    					<target>1.6</target>
    				</configuration>
    			</plugin>
     
    			<!-- Plugin pour la création d'un JAR exécutable -->
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-assembly-plugin</artifactId>
    				<version>2.1</version>
    				<configuration>
    					<descriptor>assembly.xml</descriptor>
    					<archive>
    						<manifest>
    							<mainClass>fr.thales.ouate.jAriane.Main.Ariane</mainClass>
    						</manifest>
    					</archive>
    				</configuration>
    				<executions>
    					<execution>
    						<phase>package</phase>
    						<goals>
    							<goal>single</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
     
    		</plugins>
     
    	</build>
     
    	<!-- Dépendances -->
    	<dependencies>
     
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.8.2</version>
    			<scope>test</scope>
    		</dependency>
     
    		<dependency>
    			<groupId>OUATE</groupId>
    			<artifactId>OUATE</artifactId>
    			<version>1.15.0-SNAPSHOT</version>
    		</dependency>
     
    		<dependency>
    			<groupId>OUATE</groupId>
    			<artifactId>jCosy</artifactId>
    			<version>1.4.0-SNAPSHOT</version>
    		</dependency>
     
    		<dependency>
    			<groupId>log4j</groupId>
    			<artifactId>log4j</artifactId>
    			<version>1.2.13</version>
    		</dependency>
     
    		<dependency>
    			<groupId>org.jdom</groupId>
    			<artifactId>jdom</artifactId>
    			<version>1.1</version>
    		</dependency>
     
    		<dependency>
    			<groupId>net.sourceforge.jexcelapi</groupId>
    			<artifactId>jxl</artifactId>
    			<version>2.6.10</version>
    		</dependency>
     
    		<dependency>
    			<groupId>jgoodies</groupId>
    			<artifactId>looks</artifactId>
    			<version>1.2.2</version>
    		</dependency>
     
    	</dependencies>
    </project>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <assembly>
    	<id>with-dep</id>
    	<formats>
    		<format>jar</format>
    	</formats>
    	<includeBaseDirectory>false</includeBaseDirectory>
    	<dependencySets>
    		<dependencySet>
    			<outputDirectory>/</outputDirectory>
    			<unpack>true</unpack>
    			<scope>runtime</scope>
    		</dependencySet>
    	</dependencySets>
    </assembly>

    Si vous avez une idée de comment faire je suis preneur

    Merci 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
    Essaye :
    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
    <assembly>
    	<formats>
    		<format>tar.gz</format>
    	</formats>
            <!-- LE JAR QUE TU GENERE --> 
    	<fileSets>
    		<fileSet>
    			<directory>target</directory>
    			<outputDirectory></outputDirectory>
    			<includes>
    				<include>*.jar</include>
    			</includes>
    		</fileSet>
    	</fileSets>
            <!-- LES DEPENDANCES --> 
    	<dependencySets>
    		<dependencySet>
    			<outputDirectory>/lib</outputDirectory>
    		</dependencySet>
    	</dependencySets>
    </assembly>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Tout d'abord merci de ton aide

    Avec ta solution celà génère un fichier Jar (mais beaucoup moins volumineux qu'avant, et il ne se lance pas (du aux dépendances?)). Ensuite ça génère un dossier lib avec beaucoup de fichier Jar.

  4. #4
    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
    Normalement ça doit générer un tar.gz avec ton jar dedans ainsi qu'un dossier LIB avec les dependances :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .tar.gz
        |- artifact.jar
        |- lib 
             |- dependency1.jar
             |- dependency2.jar
             |- dependency3.jar
    Tu peux placer les dépendances à la racine si tu préfère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    .tar.gz
        |- artifact.jar
        |- dependency1.jar
        |- dependency2.jar
        |- dependency3.jar
    Pour que ton jar soit exécutable la mainClass, il faut configurer le MANIFEST au niveau du maven-jar-plugin



    Edit :
    J'ai peut être mal compris ton besoin. Tu souhaites avoir un seul jar qui contient toutes les classes de tes dépendencies + tes classes à toi ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Il n'y a pas moyen de ne pas avoir les dépendances, enfait que le jar principal soit créé en fonction de ses dépendances ? Merci

    Edit : J'aimerais en fait avoir un seul Jar exécutable (donc pour se faire il faut qu'il soit créé avec ses dépendances). Par la suite je rajouterais dans le zip de la documentation.

    Merci encore de ton aide

  6. #6
    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
    En général, on fait un jar exécutable en configurant mainClass et classpath dans le MANIFEST.MF avec les dépendances à côté.

    Je ne sais pas comment intégrer les dépendances dans ton jar. Et je ne pense pas que ce soit une bonne idée.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    D'accord. Désolé mais je suis débutant sur Maven... Comment fait-on pour configurer mainClass et classpath dans le MANIFEST.MF

  8. #8
    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
    Tout est ici : http://maven.apache.org/shared/maven...classpath.html

    Au niveau de "Make The Jar Executable"


  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Merci de ton aide

    Cependant cela ne marche toujours pas

    Voici mon Pom et mon Assembly :

    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
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <?xml version="1.0" encoding="UTF-8"?>
    <project>
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>OUATE</groupId>
    	<artifactId>jAriane</artifactId>
    	<packaging>jar</packaging>
    	<version>2.3.0</version>
     
    	<reporting>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-javadoc-plugin</artifactId>
    				<version>2.7</version>
    				<configuration>
     
    				</configuration>
    			</plugin>
    		</plugins>
    	</reporting>
     
    	<build>
     
    		<!-- Définition de l'arborescence "OUATE" -->
    		<sourceDirectory>src</sourceDirectory>
    		<testSourceDirectory>test</testSourceDirectory>
     
    		<defaultGoal>clean install</defaultGoal>
     
    		<!-- Inclusion des fichiers ressources pour les tests automatiques -->
    		<testResources>
    			<testResource>
    				<directory>test/com/tas/ouate/jariane/common/util/resources</directory>
    			</testResource>
    		</testResources>
     
     
    		<plugins>
     
    			<!-- Plugin pour la compilation -->
    			<plugin>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<configuration>
    					<source>1.6</source>
    					<target>1.6</target>
    				</configuration>
    			</plugin>
     
    			<!-- Plugin pour la création d'un JAR exécutable -->
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-assembly-plugin</artifactId>
    				<version>2.1</version>
    				<configuration>
    					<descriptor>assembly.xml</descriptor>
    					<archive>
    						<manifest>
    							<addClasspath>true</addClasspath>
    							<mainClass>fr.thales.ouate.jAriane.Main.Ariane</mainClass>
    						</manifest>
    					</archive>
    				</configuration>
    				<executions>
    					<execution>
    						<phase>package</phase>
    						<goals>
    							<goal>single</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
     
    		</plugins>
     
    	</build>
     
    	<!-- Dépendances -->
    	<dependencies>
     
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.8.2</version>
    			<scope>test</scope>
    		</dependency>
     
    		<dependency>
    			<groupId>OUATE</groupId>
    			<artifactId>OUATE</artifactId>
    			<version>1.15.0-SNAPSHOT</version>
    		</dependency>
     
    		<dependency>
    			<groupId>OUATE</groupId>
    			<artifactId>jCosy</artifactId>
    			<version>1.4.0-SNAPSHOT</version>
    		</dependency>
     
    		<dependency>
    			<groupId>log4j</groupId>
    			<artifactId>log4j</artifactId>
    			<version>1.2.13</version>
    		</dependency>
     
    		<dependency>
    			<groupId>org.jdom</groupId>
    			<artifactId>jdom</artifactId>
    			<version>1.1</version>
    		</dependency>
     
    		<dependency>
    			<groupId>net.sourceforge.jexcelapi</groupId>
    			<artifactId>jxl</artifactId>
    			<version>2.6.10</version>
    		</dependency>
     
    		<dependency>
    			<groupId>jgoodies</groupId>
    			<artifactId>looks</artifactId>
    			<version>1.2.2</version>
    		</dependency>
     
    	</dependencies>
    </project>

    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
    <assembly>
    	<formats>
    		<format>zip</format>
    	</formats>
            <!-- LE JAR QUE TU GENERE --> 
    	<fileSets>
    		<fileSet>
    			<directory>target</directory>
    			<outputDirectory></outputDirectory>
    			<includes>
    				<include>*.jar</include>
    			</includes>
    		</fileSet>
    	</fileSets>
            <!-- LES DEPENDANCES --> 
    	<dependencySets>
    		<dependencySet>
    			<outputDirectory>/lib</outputDirectory>
    		</dependencySet>
    	</dependencySets>
    </assembly>

    Cela créé une archive contenant de nombreux jar. Mais le Jar n'est toujours pas éxécutable. Il est de petite taille comparé à ce que je devrais avoir (toujours une erreur de dépendance je pense)

  10. #10
    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
    Citation Envoyé par Mathieu.J Voir le message
    il faut configurer le MANIFEST au niveau du maven-jar-plugin

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Oups pardon...

    Cependant lorsque je le fais au niveau de maven-jar-plugin, il y a une erreur.


    D:\Documents and Settings\aounp\workspace\jAriane>mvn clean install
    [INFO] Scanning for projects...
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Unnamed - OUATE:jAriane:jar:2.3.0
    [INFO] task-segment: [clean, install]
    [INFO] ------------------------------------------------------------------------
    Downloading: http://repo1.maven.org/maven2/org/ap...s/maven-jar-pl
    ugin/2.1/maven-jar-plugin-2.1.pom
    [WARNING] Unable to get resource 'org.apache.maven.plugins:maven-jar-plugin:pom:
    2.1' from repository central (http://repo1.maven.org/maven2): Error transferring
    file: repo1.maven.org
    Downloading: http://repo1.maven.org/maven2/org/ap...s/maven-jar-pl
    ugin/2.1/maven-jar-plugin-2.1.pom
    [WARNING] Unable to get resource 'org.apache.maven.plugins:maven-jar-plugin:pom:
    2.1' from repository central (http://repo1.maven.org/maven2): Error transferring
    file: repo1.maven.org
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] Error building POM (may not be this project's POM).


    Project ID: org.apache.maven.plugins:maven-jar-plugin

    Reason: POM 'org.apache.maven.plugins:maven-jar-plugin' not found in repository:
    Unable to download the artifact from any repository

    org.apache.maven.plugins:maven-jar-plugin:pom:2.1

    from the specified remote repositories:
    central (http://repo1.maven.org/maven2)

    for project org.apache.maven.plugins:maven-jar-plugin


    [INFO] ------------------------------------------------------------------------
    [INFO] For more information, run Maven with the -e switch
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 3 seconds
    [INFO] Finished at: Fri May 11 09:08:42 CEST 2012
    [INFO] Final Memory: 2M/15M
    [INFO] ------------------------------------------------------------------------

    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
    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
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <?xml version="1.0" encoding="UTF-8"?>
    <project>
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>OUATE</groupId>
    	<artifactId>jAriane</artifactId>
    	<packaging>jar</packaging>
    	<version>2.3.0</version>
     
    	<reporting>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-javadoc-plugin</artifactId>
    				<version>2.7</version>
    				<configuration>
     
    				</configuration>
    			</plugin>
    		</plugins>
    	</reporting>
     
    	<build>
     
    		<!-- Définition de l'arborescence "OUATE" -->
    		<sourceDirectory>src</sourceDirectory>
    		<testSourceDirectory>test</testSourceDirectory>
     
    		<defaultGoal>clean install</defaultGoal>
     
    		<!-- Inclusion des fichiers ressources pour les tests automatiques -->
    		<testResources>
    			<testResource>
    				<directory>test/com/tas/ouate/jariane/common/util/resources</directory>
    			</testResource>
    		</testResources>
     
     
    		<plugins>
     
    			<!-- Plugin pour la compilation -->
    			<plugin>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<configuration>
    					<source>1.6</source>
    					<target>1.6</target>
    				</configuration>
    			</plugin>
     
    			<!-- Plugin pour la création d'un JAR exécutable -->
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-jar-plugin</artifactId>
    				<version>2.1</version>
    				<configuration>
    					<descriptor>assembly.xml</descriptor>
    					<archive>
    						<manifest>
    							<addClasspath>true</addClasspath>
    							<mainClass>fr.thales.ouate.jAriane.Main.Ariane</mainClass>
    						</manifest>
    					</archive>
    				</configuration>
    				<executions>
    					<execution>
    						<phase>package</phase>
    						<goals>
    							<goal>single</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
     
    		</plugins>
     
    	</build>
     
    	<!-- Dépendances -->
    	<dependencies>
     
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.8.2</version>
    			<scope>test</scope>
    		</dependency>
     
    		<dependency>
    			<groupId>OUATE</groupId>
    			<artifactId>OUATE</artifactId>
    			<version>1.15.0-SNAPSHOT</version>
    		</dependency>
     
    		<dependency>
    			<groupId>OUATE</groupId>
    			<artifactId>jCosy</artifactId>
    			<version>1.4.0-SNAPSHOT</version>
    		</dependency>
     
    		<dependency>
    			<groupId>log4j</groupId>
    			<artifactId>log4j</artifactId>
    			<version>1.2.13</version>
    		</dependency>
     
    		<dependency>
    			<groupId>org.jdom</groupId>
    			<artifactId>jdom</artifactId>
    			<version>1.1</version>
    		</dependency>
     
    		<dependency>
    			<groupId>net.sourceforge.jexcelapi</groupId>
    			<artifactId>jxl</artifactId>
    			<version>2.6.10</version>
    		</dependency>
     
    		<dependency>
    			<groupId>jgoodies</groupId>
    			<artifactId>looks</artifactId>
    			<version>1.2.2</version>
    		</dependency>
     
    	</dependencies>
    </project>

  12. #12
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,
    il y'a beaucoup beaucoup plus simple que le plugin 'assembly', il vaudrait mieux prendre le plugin 'shade'
    Voilà le lien qui te montre comment utiliser le plugin 'shade' de Maven afin de créer ton .jar exécutable http://maven.apache.org/plugins/mave...table-jar.html
    Avant j'utilisais le plugin 'assembly' et depuis peu le plugin 'shade'.
    Voici un exemple d'utilisation, je ne fais que recopier ce qu'il y a sur le lien
    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
    <project>
      ...
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                      <mainClass>org.sonatype.haven.HavenCli</mainClass>
                    </transformer>
                  </transformers>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      ...
    </project>
    Tout ce que tu as à changer dans ce code, c'est la classe Main
    Cordialement,

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Merci de ton aide

    Cependant comme avant il ne trouve pas le plugin ? Je suis débutant, dois-je en fait télécharger le plugin et le mettre dans le repertoire "repertory" dans .m2 ?

  14. #14
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    C'est bien de dire que tu es débutant Mais c'est bien de lire un bon tutoriel ou les documentations officiels de Maven pour t'informer aussi. C'est la meilleure façon d'apprendre, car si tu poses une question à chaque fois pour apprendre une nouvelle chose, ce sera lourd pour toi
    Bref, tu n'as pas besoin de télécharger le plugin, tu n'as qu'à mettre ce qu'on t'a donné dans le pom.xml, c'est maven qui s'occupe des téléchargement et compagnie ...

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Merci de ton aide

    Alors j'ai tout bien mis dans le Pom.xml mais voici l'erreur :


    D:\Documents and Settings\aounp\workspace\jAriane>mvn clean install
    [INFO] Scanning for projects...
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Unnamed - OUATE:jAriane:jar:2.3.0
    [INFO] task-segment: [clean, install]
    [INFO] ------------------------------------------------------------------------
    Downloading: http://repo1.maven.org/maven2/org/ap...s/maven-shade-
    plugin/1.6/maven-shade-plugin-1.6.pom
    [WARNING] Unable to get resource 'org.apache.maven.plugins:maven-shade-plugin:po
    m:1.6' from repository central (http://repo1.maven.org/maven2): Error transferri
    ng file: repo1.maven.org
    Downloading: http://repo1.maven.org/maven2/org/ap...s/maven-shade-
    plugin/1.6/maven-shade-plugin-1.6.pom
    [WARNING] Unable to get resource 'org.apache.maven.plugins:maven-shade-plugin:po
    m:1.6' from repository central (http://repo1.maven.org/maven2): Error transferri
    ng file: repo1.maven.org
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] Error building POM (may not be this project's POM).


    Project ID: org.apache.maven.plugins:maven-shade-plugin

    Reason: POM 'org.apache.maven.plugins:maven-shade-plugin' not found in repositor
    y: Unable to download the artifact from any repository

    org.apache.maven.plugins:maven-shade-plugin:pom:1.6

    from the specified remote repositories:
    central (http://repo1.maven.org/maven2)

    for project org.apache.maven.plugins:maven-shade-plugin


    [INFO] ------------------------------------------------------------------------
    [INFO] For more information, run Maven with the -e switch
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2 seconds
    [INFO] Finished at: Fri May 11 09:22:12 CEST 2012
    [INFO] Final Memory: 2M/15M
    [INFO] ------------------------------------------------------------------------

  16. #16
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Il semblerait que tu aies des soucis de connexion internet ... (en tous via le CMD)
    fais un pingEs tu derrière un proxy ?

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    En effet je suis derrière un proxy

  18. #18
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Bonjour à tous

    J'ai arrangé le problème du proxy. Le jar exécutable se créé bien via le plugin shade.

    Par contre maintenant j'aimerai mettre le jar avec de la documentation dans un zip.

    Voici mon assembly initial :

    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
    <assembly>
    	<formats>
    		<format>zip</format>
    	</formats>
     
    	<fileSets>
     
    		<fileSet>
    			<directory>doc</directory>
    			<outputDirectory>doc</outputDirectory>
    			<includes>
    				<include>*</include>
    			</includes>
    		</fileSet>
     
    		<fileSet>
    			<directory>target</directory>
    			<outputDirectory></outputDirectory>
    			<includes>
    				<include>jAriane.jar</include>
    			</includes>
    		</fileSet>
     
    	</fileSets>
    Cela créé un fichier (et non un zip) mais seulement avec mes fichiers de documentation. Cela n'inclu pas le jar exécutable.

    Merci beaucoup pour votre aide

    EDIT : En fait c'est bon, j'ai oublié de mettre jAriane-*.jar. Résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Générer un jar avec du code java
    Par SuperPat dans le forum Général Java
    Réponses: 2
    Dernier message: 10/08/2009, 11h32
  2. générer un jar avec les dépendance.
    Par damien77 dans le forum Maven
    Réponses: 3
    Dernier message: 23/02/2009, 00h22
  3. générer un .jar avec JCreator
    Par ouchemhou dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 09/01/2009, 12h09
  4. Générer un jar avec ces librairies dépendantes
    Par untipy dans le forum NetBeans
    Réponses: 1
    Dernier message: 30/08/2007, 18h32
  5. Réponses: 3
    Dernier message: 03/11/2006, 17h35

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