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 Platform Discussion :

Pb de classpath


Sujet :

Eclipse Platform

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut Pb de classpath
    Bonjour,

    Je suis en train de développer un plugin pour Eclipse au sein duquel je dois
    utiliser Jflex et CUP, générateur de lexeur et parseur java pour un langage particulier.

    Bref, ayant généré mes classes, je voudrais les utiliser mais je me retrouve confronté à cette erreur :
    java.lang.NoClassDefFoundError: java_cup/runtime/Scanner
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:160)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:498)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:468)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:427)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:410)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:188)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:334)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:386)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at net.eclipse.why.editeur.lexer.GoalDisplayModifier.whyToView(GoalDisplayModifier.java:35)
    at net.eclipse.why.editeur.views.GoalsView.input(GoalsView.java:73)
    at net.eclipse.why.editeur.views.WhyView.afficheGV(WhyView.java:1325)
    at net.eclipse.why.editeur.views.WhyView.searchAndSelect(WhyView.java:1293)
    at net.eclipse.why.editeur.views.WhyView$8.run(WhyView.java:900)
    at net.eclipse.why.editeur.views.WhyView$9.widgetSelected(WhyView.java:916)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3166)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2842)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
    J'ai pourtant les "import java_cup.runtime.*" qu'il faut dans mes classes,
    et j'ai entré le java-cup-11a.jar dans Properties>Java Build Path>Libraries ...

    Le Scanner.class existe bien dans java_cup/runtime/ de l'archive et ça plante quand je fais un new Scanner(...);

    Je ne comprends pas ce qui se passe

    Quelqu'un saurait-il me dire quoi faire pour corriger ce pb ?

    Est-ce que j'ai oublié de faire quelque chose ?

    Merci d'avance ...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Salut,

    Eclipse ne te signale pas de problème au niveau de import ?

    Tu peux essayer d'inclure le package java_cup.runtime dans Dependencies-> Imported packages (plugin.xml)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Salut,

    non je n'ai pas de pb au niveau du import !
    Et dans Dependencies>Imported Packages>Add...
    java_cup n'apparaît pas dans la liste !!!
    Ca te paraît anormal ?

  4. #4
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut
    Il faut ajouter, dans ton MANIFEST.MF, au niveau des Dependencies/Required Plug-ins , les plugins dont il dépend...
    Snoop

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Salut snoop,
    en fait mon .jar est censé dépendre d'un plugin ???

  6. #6
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut
    Il faut que tu renseigne tous les plugins dont dépend le plugin que tu développe....
    Snoop

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    ... et qui apparaissent du coup dans mon MANIFEST.MF, tout
    à fait d'accord !

    Mais je n'ai pas la possibilité d'ajouter mon java-cup.jar de cette
    manière ?
    En tout cas, il n'apparaît dans aucune liste qui m'est proposée quand
    je fais Add...
    ni dans Required Plug-ins ni dans Imported Packages.
    En fait pour le moment, mon java-cup.jar, il apparaît uniquement dans
    mon Package Explorer ...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Je me demande ...

    ... si ajouter qqch à la main dans un des fichiers
    plugin.xml, manifest.mf ou build.properties ne pourrait
    pas résoudre le pb!

    Je n'ai trouvé la réponse nulle part pour l'instant ...

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    En cliquant sur "Show non package exported", ton package java-cup n'apparait pas ?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Non !
    Je viens de rechecker la case dans Imported Packages>Add... et il
    n'apparaît pas

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Dans la section Runtime, dans "exported packages" il y a java_cup ?

    Chez moi toutes les librairies importé et utilisé sont listés ici.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Ben non, la table est vide et on ne me propose de rajouter
    que les packages présents dans src/

    Par contre je viens de constater un truc marrant.
    Enfin marrant ... façon de parler !!!

    Je rajoute mon jar (Properties>Libraries>Add Ext. JARs)
    Il apparaît ensuite dans mon package explorer
    Ensuite dans l'onglet Overview, dans Execution Environment, on peut
    cliquer sur un truc : Update the classpath and the compiler compliance settings
    Eh ben si je clique là dessus, ça m'enlève ma librairie, elle disparaît de mon
    package explorer => erreurs dans mon code


    Y'a forcément qqch qu'il faut que je définisse qq part mais je sais ni ce
    que c'est, ni où c'est! C'est moche ...

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    T'as librairie est dans le même répertoire que ton projet ?

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Non, le répertoire de mon plugin n'est pas au même endroit
    que la librairie ...

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Essaie de mettre ta librairie dans un répertoire "lib" dans le répertoire de ton projet. Apparemment pour Eclipse ça ne signifie pas la même chose.

    Ensuite tu peux l'importer avec Add Jar.

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Ouh ... ça marche tjs pas mais j'ai maintenant mes librairies
    java_cup qui figurent dans Runtime>Exported Package !!!

    Au passage, ça change rien si je les ajoutent ...

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Mince.
    Et dans Runtime, section Classpath, tu as listé tes librairies ?

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Oui, j'ai entré le nom : java-cup-11a.jar !!!

    Sinon maintenant, je peux, c'est nouveau, sélectionner ma librairie
    java-cup-11a.jar dans Properties>Add Library...

    Ce qui me donne une nouvelle librairie java-cup-11a.jar dans mon
    package explorer, cette fois avec la vraie icône d'une librairie !
    Au total ... ça marche pas mieux! Mais j'y ai cru l'espace d'un instant !
    (ô rage ô désespoir ... )

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Ouais, tu peux utiliser Add librairie parce que tu l'a mis dans le répertoire de ton projet.

    Sinon maintenant, je peux, c'est nouveau, sélectionner ma librairie
    java-cup-11a.jar dans Properties>Add Library...

    Ce qui me donne une nouvelle librairie java-cup-11a.jar dans mon
    package explorer, cette fois avec la vraie icône d'une librairie !
    Mais du coup tu as 2 fois la librairie d'importé non. Eclipse ne te dit pas qu'il y a un problème ?

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 37
    Points
    37
    Par défaut
    Eh bien en fait, le .jar n'y est qu'une seule fois !
    Dans le package explorer ...
    Pas dans la librairie !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Ant] utiliser le classpath d'Eclipse avec Ant
    Par XavierZERO dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/03/2007, 14h00
  2. [ Eclipse ][classpath] Problème de classpath
    Par pista dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/04/2004, 22h18
  3. [Classpath][Jar]gestion des packages
    Par marcoss dans le forum Général Java
    Réponses: 4
    Dernier message: 24/04/2004, 22h19
  4. [ClassPath] Comment modifier le classpath d'eclipse?
    Par Elmilouse dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 08/04/2004, 18h32
  5. [Classpath] problème de création de setclasspath.bat
    Par worldchampion57 dans le forum Général Java
    Réponses: 7
    Dernier message: 06/05/2003, 13h32

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