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

Langage Java Discussion :

débutant: erreur exécution JAR


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Avatar de sroux
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 516
    Points
    516
    Par défaut débutant: erreur exécution JAR
    Bonjour,

    J'ai un problème d'exécution d'un JAR récemment généré via Eclipse (esslr.jar).
    Il y a qq trucs que je n'ai pas encore compris. J'ai ajouté les jar externes dans le répertoire principal (sauf SWT).
    Si le problème vient de SWT, que dois-je faire de la librairie SWT définie via Eclipse, comment la rapatrier dans mon arborescence?
    Par ailleurs dois-je rajouter la ligne Class-Path dans le manifest puisque mes jar se trouve dans mon arborescence...?

    Tout cela n'est pas très clair et pas forcément abordé dans les livres ou tutoriaux. Neanmoins je suis preneur de toute info utile.

    Merci d'avance pour votre aide.

    S.Roux


    Erreur
    ------
    C:\eclipse\workspace\EssbaseLogReconciler>java -jar esslr.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composite
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)

    MANIFEST.MF (C:\eclipse\workspace\EssbaseLogReconciler\META-INF\)
    -------------
    Manifest-Version: 1.0
    Main-Class: NewComposite

    classpath: (C:\eclipse\workspace\EssbaseLogReconciler)
    ----------
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    <classpathentry kind="src" path=""/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="lib" path="C:/eclipse/workspace/EssbaseLogReconciler/jakarta-oro-2.0.8.jar"/>
    <classpathentry kind="lib" path="C:/eclipse/workspace/EssbaseLogReconciler/jdom.jar"/>
    <classpathentry kind="con" path="SWT_CONTAINER/PLATFORM"/>
    <classpathentry kind="output" path=""/>
    </classpath>

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Le fichier manifest de ton jar doit spécifier l'emplacement relatif des librairies externes utilisé (dont celle de SWT) via l'attribut Class-PathExemple (si swt.jar se trouve dans le même répertoire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Manifest-Version: 1.0
    Main-Class: NewComposite
    Class-Path: swt.jar
    a++

    PS :

  3. #3
    Membre confirmé Avatar de menuge
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    727
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 727
    Points : 616
    Points
    616
    Par défaut
    n'oublie pas si tout est ok
    --
    Ludovic

  4. #4
    Membre confirmé
    Avatar de sroux
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 516
    Points
    516
    Par défaut
    Merci Adi pour ta réponse.

    J'ai mis à jour le MANIFEST.MF en conséquence.
    En faisant des recherches sur d'autres posts du forum j'ai compris comment rapatrier le *SWT*.jar vers mon arborescence et j'ai extrait la dll du package.

    J'avance donc doucement mais sûrement.

    Cdlt,

    S.Roux

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

Discussions similaires

  1. erreur exécution jar sous linux
    Par kavdo34 dans le forum Général Java
    Réponses: 46
    Dernier message: 25/03/2010, 11h18
  2. [PC] [Débutant] Erreur en cours d'exécution 146
    Par DanteSeb dans le forum Cobol
    Réponses: 3
    Dernier message: 15/05/2007, 10h52
  3. Réponses: 2
    Dernier message: 11/04/2007, 15h04
  4. [JMF][débutant] Erreur lors de l'exécution
    Par july dans le forum Multimédia
    Réponses: 7
    Dernier message: 19/01/2006, 10h30
  5. Débutant: exécuter .jar sur un Mac
    Par hvgentil dans le forum JBuilder
    Réponses: 3
    Dernier message: 05/07/2004, 23h21

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