Gosseyn
Messages : 286 Inscrit le 24/01/05
Ville : Grenoble
Non connecté
|
|
Posté le 20 janvier 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 février 2006 - 14 h 00. |
| |
"Si vous perdez, ne perdez pas la leçon."
Gosseyn
|
kha
Google is your best friend
Messages : 1 235 Inscrit le 01/03/02
Ville : Montreal
Non connecté
|
|
Posté le 21 janvier 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 janvier 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 427 Inscrit le 28/08/03
Ville : Claix
Non connecté
|
|
Posté le 23 janvier 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 janvier 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
|
|
| |
" 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 235 Inscrit le 01/03/02
Ville : Montreal
Non connecté
|
|
Posté le 24 janvier 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 235 Inscrit le 01/03/02
Ville : Montreal
Non connecté
|
|
Posté le 24 janvier 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 427 Inscrit le 28/08/03
Ville : Claix
Non connecté
|
|
Posté le 24 janvier 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 
|
[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 janvier 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 235 Inscrit le 01/03/02
Ville : Montreal
Non connecté
|
|
Posté le 25 janvier 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 janvier 2006 - 15 h 41. |
| |
|
Gosseyn
Messages : 286 Inscrit le 24/01/05
Ville : Grenoble
Non connecté
|
|
Posté le 02 février 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 235 Inscrit le 01/03/02
Ville : Montreal
Non connecté
|
|
Posté le 05 février 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...
|
|
| |
|