France Hardware : Forums de discussion - Découvrez notre nouveau comparateur d'offres Internet
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
29 511 membres enregistrés - 2 069 326 posts - 122 027 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Langages
                java.lang.NoClassDefFoundError
117 connectés(record : 2799 le 29 May 2016 - 15 h 34)

Vous devez vous connecter pour répondre au topic.
java.lang.NoClassDefFoundError

Gosseyn


Messages : 286
Inscrit le 24/01/05
Ville : Grenoble
Non connecté
  Posté le 20 January 2006 - 16 h 49 m 55 s
Bonjour,

probleme tout bete mais que je n'arrive pas a resoudre malgré l'avoir retourné dans tous les sens.

dans mon rep courant j'ai bin/ et lib/ dans bin un jar de l'application et dans lib une lib utlisée par l'appli.

depuis bin/ je lance java -classpath "..libmalib.jar" -jar monappli.jar

et j'ai l'erreur java.lang.NoClassDefFoundError pour une classe de la lib. Je suis sous XP et j'ai aussi essayé de mettre le chemin complet à partir du lecteur, de spécifier la variable d'environment CLASSPATH, de spécifier le classpath dans le fichier MANIFEST.
Tout cela sans succes.
Qu'est-ce que je fais mal?


Message édité 2 fois, la dernière par Erel69 le 11 February 2006 - 14 h 00.

"Si vous perdez, ne perdez pas la leçon."
Gosseyn


kha
Google is your best friend

Messages : 1 236
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 21 January 2006 - 04 h 26 m 04 s
C serait bien d'avoir plus de details, comme la copie du texte dans la console pour savoir quelle lib, quelle erreur, et les commandes que tu tapes exactement.




Gosseyn


Messages : 286
Inscrit le 24/01/05
Ville : Grenoble
Non connecté
  Posté le 23 January 2006 - 14 h 57 m 45 s
Tout d'abord, si je lance l'appli d'Eclipse, tout marche parfaitement.
Dans le repertoire C:Program FilesDelys j'ai un rep lib qui contient mes bibliotheques et bin qui contient mes applis. J'ai definie CLASSPATH comme suit:
CLASSPATH=C:Program FilesJavajre1.5.0_06;C:Program FilesDelyslibtjlib.jar

depuis bin je lance: java -jar ot.jar

tout fonctionne correctment jusqu'à ce que j'accède à un classe se trouvant dans tjlib.jar:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: fr/talc/gui/THorizontalSpacedPanel
at OrderTaker$ApplicationKeyListener.eventDispatched(OrderTaker.java:788)
at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit.notifyAWTEventListeners(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

J'ai la meme chose avec cette ligne de commande:
java -classpath "C:Program FilesDelyslibtjlib.jar" -jar ot.jar

Dans le MANIFEST.MF de ot.jar, j'ai aussi rajoute une ligne pour le classpath
Class-Path: "..libtjlib.jar" ".ot.jar"
j'ai aussi essayé de mettre le chemin complet sans succès.

J'ai verifié dans tjlib.jar qu'il contenait bien toutes les classes désirées en le decompressant.

Voila, j'avoue que j'ai retrouné les chemins d'acces dans tous les sens, depuis la racine ou relativement à la position courante sans succès non plus.



"Si vous perdez, ne perdez pas la leçon."
Gosseyn


bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 23 January 2006 - 20 h 25 m 56 s
une remarque naïve : le classpath, y'a pas une particularité, selon que tu es sur unix ou sur windows, genre le séparateur ";" ou ":" ???



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 114
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 23 January 2006 - 20 h 43 m 07 s


Le 23 janvier 2006 - 20 h 25, bernie38 a écrit :
une remarque naïve : le classpath, y'a pas une particularité, selon que tu es sur unix ou sur windows, genre le séparateur ";" ou ":" ???

Si si mon bon Bernie :)
":" pour Linux et ";" pour Windows...

Ravi de te revoir mon Bebert :hello:



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


kha
Google is your best friend

Messages : 1 236
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 24 January 2006 - 04 h 37 m 22 s
Est ce que ce sont des applis "sensibles" ou bien tu peux les mettre sur un ftp pour qu'on puisse tester ?




kha
Google is your best friend

Messages : 1 236
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 24 January 2006 - 04 h 37 m 51 s
Est ce que ce sont des applis "sensibles" ou bien tu peux les mettre sur un ftp pour qu'on puisse tester ? A la rigueur, envoie moi par mail les fichier je pourrais sûrement t'aider.




bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 24 January 2006 - 15 h 15 m 11 s


Le 23 janvier 2006 - 20 h 43, gege38 a écrit :


Le 23 janvier 2006 - 20 h 25, bernie38 a écrit :
une remarque naïve : le classpath, y'a pas une particularité, selon que tu es sur unix ou sur windows, genre le séparateur ";" ou ":" ???

Si si mon bon Bernie :)
":" pour Linux et ";" pour Windows...

Ravi de te revoir mon Bebert :hello:


[HS que c'en est une honte]
salut, gégé. Je fais juste quelques apparitions éclair.
[/HS que c'en est une honte]

Bon, du coup le pb venait pas de là donc ?



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


Gosseyn


Messages : 286
Inscrit le 24/01/05
Ville : Grenoble
Non connecté
  Posté le 25 January 2006 - 14 h 25 m 07 s
Ben non, merci pour ta proposition, je vais voir avec mon boss pour fournir les applis mais je doute que je puisse les sortir comme cela.



"Si vous perdez, ne perdez pas la leçon."
Gosseyn


kha
Google is your best friend

Messages : 1 236
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 25 January 2006 - 15 h 40 m 56 s
Ah !!

Et tu as essayer de faire ca :
Si tu as la structure :

root
- bin
- lib

tu te met dans root et tu fais :

java -cp "lib/ma-lib.jar;bin/mon-app.jar" com.macompanie.MaMainClass

EDIT: en gros éviter de passer par -jar


Message édité 1 fois, la dernière par kha le 25 January 2006 - 15 h 41.


Gosseyn


Messages : 286
Inscrit le 24/01/05
Ville : Grenoble
Non connecté
  Posté le 02 February 2006 - 11 h 31 m 54 s
Bonjour,

Pas eu le temps de tester avant. J'ai finalement essayé la ligne que Kha m'a indiqué et cela marche parfaitement. Donc un GRAND merci à Kha.

Une derniere question: pourquoi cela marche comme cela et pas lorsque l'on passe par -jar?
L'utilisation de -jar reduit-elle le classpath au jar passé en parametre?



"Si vous perdez, ne perdez pas la leçon."
Gosseyn


kha
Google is your best friend

Messages : 1 236
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 05 February 2006 - 08 h 06 m 36 s
Ca je ne sais pas... Faut lire la doc de sun sur les command line tools du jdk...




Page genérée en 0.1576 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL | Actualité ADSL | Deligo | Appareil photo | Commande Au Volant
Creative Commons
Message Boards and Forums Directory