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 :

Exporter un JAR incluant un plugin Eclipse


Sujet :

Eclipse Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut Exporter un JAR incluant un plugin Eclipse
    Bonjour à tous,
    j'essaie de créer un fichier .jar avec l'ensemble des projets dans mon workspace Eclipse. Cependant, j'ai un problème: lorsque je sélectionne tout, Eclipse n'inclus pas un plugin que j'utilise (soit org.antlr.runtime) et lors de l'exécution de mon .jar, je reçois une erreur ClassNotFound pour org.antlr.runtime:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    maxi297@ubuntu:~/Desktop$ java -jar test.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/antlr/runtime/RecognitionException
    Caused by: java.lang.ClassNotFoundException: org.antlr.runtime.RecognitionException
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    Could not find the main class: org.eclipse.linuxtool.afi.ui.commandLine.Afi. Program will exit.
    J'ai même été cherché le .jar de org.antlr.runtime au fin fond des dossiers d'Eclipse pour le mettre en classpath de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo java -cp org.antlr.runtime_3.2.9.v20111311130.jar:. -jar test.jar
    et je reçois toujours la même erreur. J'ai vérifié et le .jar contient bel et bien la classe RecognitionException au path spécifié.

    Bref, j'aimerais si possible pour inclure directement org.antlr.runtime à mon .jar si possible et si ce n'est pas possible (ou trop complexe), j'aimerais au moins pouvoir exécuter mon .jar en spécifiant le classpath à la JVM.
    Merci de l'attention que vous porterez à mon message.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Bon, pour ceux que ça peut intéresser, FatJar (http://fjep.sourceforge.net/) fait très bien ce que je voulais faire.

    Par contre, j'aimerais quand même avoir une réponse à ma question car je n'ai pas vraiment saisi pourquoi ça fonctionne avec FatJar ?

  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 : 51
    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
    Points : 17 036
    Points
    17 036
    Par défaut
    Bonjour,

    FatJar fait principalement deux choses (qui sont indiquées dans la section about du lien que tu donnes) :
    - Fusion des MANIFEST des différents jar.
    - Remplacement du ClassLoader standard par un ClassLoader qui prend en compte les jar inclus.

    Si cela n'est pas possible de base, c'est surtout parce qu'il n'est pas véritablement souhaitable de tout mettre dans un seul jar, cela étant contraire aux principes de modularité. Bon, on peut néanmoins comprendre que fournir un seul jar en guise d'application standalone soit plus simple vis-à-vis des utilisateurs.
    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).

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

Discussions similaires

  1. Comment lancer Eclipse en incluant ses plugins
    Par eclie dans le forum Eclipse Platform
    Réponses: 8
    Dernier message: 19/02/2009, 08h45
  2. Export de Plugin eclipse
    Par imhotep_zr7s dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 27/09/2007, 11h54
  3. [Plugin Eclipse][Maven 2] Export de plugin déployable
    Par gwallet dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/03/2007, 11h38
  4. export de plugin eclipse 3.2.1
    Par Magic F dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 11/01/2007, 10h39
  5. exportation en JAR sous eclipse
    Par popi182 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 23/08/2006, 14h32

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