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

Eclipse Java Discussion :

[Export] Comment ne pas inclure les tests unitaires au JAR


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut [Export] Comment ne pas inclure les tests unitaires au JAR
    Bonjour,

    J'ai un projet Java sous Eclipse avec l'arborescence suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    LAM
       |_src
            |_fr.statlife.LAM
            |_fr.statlife.LAM.Analyse
            |_fr.statlife.LAM.IHM
            |_fr.statlife.Tracabilite
       |_test
            |_fr.statlife.LAM.test
       |_lib
       |_ image.gif
    Quand je fais un jar Executable, l'exécutable marche bien mais :
    • l'image image.gif n'est pas inclue dans le jar
    • le package test est inclu dans le jar alors que ce sont des tests unitaires qui donc ne devraient pas y être


    Donc question double : comment faire pour inclure l'image et ne pas inclure les tests au JAR?

  2. #2
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut
    Le problème n'inspire personne?

    Pour les tests Junit qui se retrouvent dans le JAR, je me dis que ça vient sans doute du fait qu'ils sont inclu dans un package fils du package principal. Mais avant de tout changer, j'aimerais bien avoir quelques avis, ne serait-ce que sur les bonnes pratiques pour éviter ce problème...

  3. #3
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,

    As-tu vu cette FAQ http://eclipse.developpez.com/faq/in...nt#exporterJar ?
    Fais-tu la même chose ou as-tu un quelconque problème pour le faire ?
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  4. #4
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut
    en fait, je fais celui qui est juste en dessous car je veux un JAR exécutable. Sauf que dans cette démarche, on ne peut pas choisir qu'est ce qu'on met dans le JAR...

    Est-il possible d'utiliser la première démarche et de rendre le JAR obtenu exécutable?

    Et je vois un peu partout parlé de Manifest, mais je ne comprends pas bien ce que c'est. Je vais faire quelques recherches de ce côté là aussi...

  5. #5
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut
    Bon, alors en suivant l'explication de la FAQ pour exporter mon projet dans le JAR, j'ai réussi à supprimer JUnit et à avoir mon image.

    Comme je veux un JAR exécutable et que j'utilise une librairie JAR externe, j'ai utilisé le Manifest obtenu avec la méthode "Export... > Java > Runnable JAR File > Next." pour faire mon JAR.
    J'ai changé la ligne
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class-Path: ./lib/jdom/build/jdom.jar
    pour que la librairie JDOM soit bien prise en compte.

    Mais ce n'est visiblement pas suffisant car mon JAR n'est visiblement pas exécutable (il ne se passe rien quand on double-clique dessus), et qu'il manque des choses dans l'archive JAR (par rapport à celle obtenue avec la méthode "Export... > Java > Runnable JAR File > Next.") :

    Arborescence du JAR exécutable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    -> fr (mon package)
    -> META-INF
           |_ eclipse.inf
           |_ info.xml
           |_ jdom-info.xml
           |_ LICENSE.txt
           |_ MANIFEST.MF
    -> org (le package de JDOM)
    -> JDOMAbout.class
    -> JDOMAbout$Author.class
    -> JDOMAbout$Info.class
    et voici l'arborescence du deuxième JAR obtenu (qui ne contient pas JUnit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    -> fr (mon package)
    -> META-INF
           |_ MANIFEST.MF
    on voit bien qu'il manque tout ce qui concerne JDOM...

    Comment faire pour que JDOM soit bien ajouté à mon JAR?

    voici le fichier Manifest utilisé :
    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
    Manifest-Version: 1.0
    Class-Path: ./lib/jdom/build/jdom.jar
    Main-Class: fr.statlife.LAM.IHM.IHM
     
    Name: org/jdom/filter/
    Implementation-Vendor: jdom.org
    Implementation-Title: org.jdom.filter
    Specification-Title: JDOM Filter Classes
    Implementation-Version: 1.1.1
    Specification-Version: 1.0
    Specification-Vendor: jdom.org
     
    Name: org/jdom/xpath/
    Implementation-Vendor: jdom.org
    Implementation-Title: org.jdom.xpath
    Specification-Title: JDOM XPath Classes
    Implementation-Version: 1.1.1
    Specification-Version: 1.0
    Specification-Vendor: jdom.org
     
    Name: org/jdom/
    Implementation-Vendor: jdom.org
    Specification-Title: JDOM Classes
    Implementation-Title: org.jdom
    Implementation-Version: 1.1.1
    Specification-Version: 1.0
    Specification-Vendor: jdom.org
     
    Name: org/jdom/input/
    Implementation-Vendor: jdom.org
    Implementation-Title: org.jdom.input
    Specification-Title: JDOM Input Classes
    Implementation-Version: 1.1.1
    Specification-Version: 1.0
    Specification-Vendor: jdom.org
     
    Name: org/jdom/output/
    Implementation-Vendor: jdom.org
    Implementation-Title: org.jdom.output
    Specification-Title: JDOM Output Classes
    Implementation-Version: 1.1.1
    Specification-Version: 1.0
    Specification-Vendor: jdom.org
     
    Name: org/jdom/adapters/
    Implementation-Vendor: jdom.org
    Implementation-Title: org.jdom.adapters
    Specification-Title: JDOM Adapter Classes
    Implementation-Version: 1.1.1
    Specification-Version: 1.0
    Specification-Vendor: jdom.org
     
    Name: org/jdom/transform/
    Implementation-Vendor: jdom.org
    Implementation-Title: org.jdom.transform
    Specification-Title: JDOM Transformation Classes
    Implementation-Version: 1.1.1
    Specification-Version: 1.0
    Specification-Vendor: jdom.org

    EDIT : que veut dire cette ligne de la FAQ ?
    Attention : Si vous avez ajouté des jars externes au build path du projet, le jar ne pourra pas fonctionner une fois généré car Eclipse n'inclut pas les informations du build path.
    Pour pallier à celà :

    * Fournir à l'assistant d'export votre propre fichier manifest (généré par un premier export éventuellement) dans lequel vous précisez les jars que vous utilisez en ajoutant la ligne suivante: Class-Path: log4j.jar, mysql-connector-java-5.1.6-bin.jar

    Assurez-vous également que ces jars soient présents à côté du jar généré, avant de le lancer.

  6. #6
    Membre éclairé
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 379
    Par défaut
    salut,

    j'ai fini par réussir grâce à ce post.

    pour l'image, j'ai créé un dossier ressource de type "Source Folder" et j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.fondBlanc = ImageIO.read(getClass().getClassLoader().getResource("pointBlanc.gif"));
    Ensuite, pour le problème de JUnit (qu'il ne fallait pas inclure) et JDOM (qu'il fallait inclure), j'ai utilisé FatJar, un plugin Eclipse permettant de faire des Export avec un Wizard bien plus complet que le Wizard d'export normal.

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

Discussions similaires

  1. Comment ne pas perdre les "0" lors d'un export en CSV
    Par olivier131 dans le forum Excel
    Réponses: 8
    Dernier message: 02/03/2017, 12h54
  2. Strategies pour les tests unitaires
    Par xxiemeciel dans le forum Test
    Réponses: 6
    Dernier message: 17/04/2008, 11h59
  3. [MySQL] [SQLyog] comment ne pas trier les attributs sur 1 PK
    Par raoulmania dans le forum Installation
    Réponses: 11
    Dernier message: 19/12/2005, 16h30
  4. [JTable] Comment ne pas afficher les titres ?
    Par FabienBxl dans le forum Composants
    Réponses: 3
    Dernier message: 08/10/2003, 15h01
  5. [][Excel] Comment ne pas détruire les formules ?
    Par flyangelNext dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2003, 11h38

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