Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1356 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  tout ce que vous avez toujours voulu savoir sur le CLASSPATH

 

 

 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7
Page Précédente
Auteur Sujet :

tout ce que vous avez toujours voulu savoir sur le CLASSPATH

n°504600
benou
Posté le 02-09-2003 à 00:46:05  profilanswer
 

On a souvent des questions sur le classpath, donc pour éviter de se répéter, voici un topic qui lui est entièrement consacré.
Si après avoir lu tout ca :sweat: vous avez encore des questions, ce topic est fait pour ca ;)
 
 
 
0) quand je lance mon programme java ou que je compile, ca me mets java.lang.ClassNotFoundException ou java.lang.NoClassDefFoundError [:toad666]
 
Pas de panique, c'est une erreur classique quand on débute : ton classpath est mal configuré.  
 
1) Ok, mais le classpath, c'est quoi ? :??:
 
C'est une variable. Elle est composées de plusieurs chemin (path). Les chemins désignent soit des répertoires, soit des fichiers jar. Ces chemins peuvent être absolus ou relatifs. Le caractère utilisé pour séparer les différents chemins est dépendant de l'OS : sous windows c'est le point virgule ';', sous linux/unix c'est les deux points ':'. Attention : l'orde dans lequel vous mettez les différents chemins est important.
 
exemple de classpath sous windows :  
.;d:\java\lib\xerces.jar;d:\java\projets\javaBot\classes;"C:\Program Files\toto.jar"
 
Dans cet exemple, on définit 4 chemins :  
 - le répertoire courant
 - le fichier d:\java\lib\xerces.jar
 - le répertoire d:\java\projets\javaBot\classes
 - le fichier C:\Program Files\toto.jar. On mets des " autour parce qu'il y a un espace dans le chemin.
 
remarque : sous windows on peut utiliser '/' ou '\' comme séparateur de répertoire.
 
 
2) D'accord, mais ca sert à quoi le classpath ? :gratgrat:
 
C'est utilisé par le compilateur et le machine virtuelle java pour retrouver les classes dont a besoin un programme.
Par exemple, si j'ai besoin d'utiliser un parser XML (xerces par exemple), pour que le compilateur et la JVM retrouvent les classes du parser, il va falloir ajouter la librairie xerces.jar au classpath.
 
En pratique, quand Java a besoin d'une classe, il va parcourir le classpath (dans l'ordre) et va chercher dans chacun des chemins du classpath si il trouve la classe. Si à la fin il n'a pas trouvé la classe en question, il balance une ClassNotFoundException (si on compile) ou une NoClassDefFoundError (si on execute)
 
Quand on installe le JDK de SUN, aucun classpath n'est définit !!!!! Même le répertorie courant n'est pas dedans. C'est une erreur classique de débutant : on se met dans le repertoire dans lequel se trouve les fichiers compilés, on tape java HelloWorld et on se mange un NoClassDefFoundError :/. La solution : taper  java -classpath . HelloWorld. Dans la partie 4, je détaille comment configurer le classpath ...
 
3) depuis tout à l'heure tu parles de jar, c'est quoi ?? :o
 
Un fichier jar c'est un fichier compressé. Ca veut dire Java ARchive. Le format de compression est le zip : essyez, vous verrez que vous pouvez ouvrir un fichier jar avec winzip. Habituellement, les jar sont utilisés pour stocker les classes d'une API.
En fait un jar c'est un repertoire compressé. Donc quand on inclut un jar dans le classpath, ca revient au même que si on décompessait le jar et qu'on incluait dans le classpath le repertoire dans lequel on l'a décompressé.
 
 
4) Ok, bon je sais ce que c'est, je sais à quoi ca sert. Maintenant, comment je fais pour le configurer :sweat:
 
là ca se complique : y a plusieurs solution, et ca dépend de l'environnement dans lequel tu travailles.
 
  a) Si tu utilises un IDE : (très fortement déconseillé pour les premiers pas en Java !!! jbuilder suxor !!!)
 
La façon de configurer le classpath dépend de l'IDE. Je vais essayer de repertorier ici les manipulations à faire pour tous les IDE. Moi je me sers d'Eclipse => je vais commenter la façon de faire d'eclipse. Ceux qui se servent d'autres IDE, merci de me laisser la marche à suivre, je l'incluerai ici.
 
     i) Eclipse
 
dans le menu project/properties/java Build Path/Librairies
Si les jars ou les repertoires à inclure sont dans l'arborescence du projet, bouton "Add JARS..." ou "Add Class Folder...". sinon, si c'est un jar => boutons "Add External JAR..." ou si c'est un repertorie "Add Variable" (ca marche aussi avec les jar)
 
     ii) JCreator
 
Configure => Option => JDKProfiles
On séléctionne le jdk utilisé (en général y'en a qu'un)
pi on va dans Edit
Ensuite On a la fiche de tous les jar et dossier du "classpath" de Jcreator. Add Path pour rajouter un dossier, et Add Archive pour rajouter un jar
 
     iii) JBuilder
 
Outils => configurer les JDk
Ca affiche la liste des jar et dossier du classpath
Pour en rajouter : "Ajouter" pi vou mettez vos classes, vos jars ect...
 
 
  b) si on compile à la main dans un shell (conseillé pour les premiers pas : c'est chiant, mais c'est comme ca qu'on apprend)
 
- La 1ere solution est d'écrire le classpath à chacune des commandes de compilation ou de lancement du programme. ex sous windows :
 
javac -classpath .\lib\xerces.jar -d .\classes .\src\monpackage\*.java
 
java -classpath .\lib\xerces.jar;.\classes monpackage.MaClasse
 
 
- La 2e solution c'est de mettre le classpath en variable systeme : java et javac vont chercher cette variable lorsqu'aucun classpath n'est défini en ligne de commance.
 
sous windows 9x :
Dans c:\autoexec.bat, ajouter une ligne du type  :
SET CLASSPATH=.;d:\java\lib\xerces.jar;%CLASSPATH%
 
sous windows NT/2000/XP :
démarrer/paramêtre/panneau de configuration/système/avancé/variable d'environnement
créer une variable CLASSPATH (si elle n'existe pas) et lui donner une valeur du type :
.;d:\java\lib\xerces.jar
 
C'est pratique : après on a plus qu'à faire java monpackage.MaClasse et ca fonctionne. Mais au bout d'un moment, quand on travaille sur bcp de projet, on finit par avoir un classpath système ENOOOOOOOOOOORME [:w3c compliant]
 
- la 3e solution c'est un mixe des deux : utiliser un fichier batch pour configurer le classpath.
exemple sous windows (shell DOS): dans un fichier setEnv.bat :

Citation :

SET CLASSPATH=.
SET CLASSPATH=%CLASSPATH%;d:\java\lib\xerces.jar
SET CLASSPATH=%CLASSPATH%;d:\java\lib\xalan.jar
SET CLASSPATH=%CLASSPATH%;d:\java\projets\utils\classes


 
Quand on lance le shell, on execute le fichier setenv, et on a le classpath de configuré pour ce shell. On peut ensuite se servir de java et de javac sans l'option -classpath
 
 
5) j'ai rien compris ! j'ai pas envie de tout lire ! je comprend qu'avec des exemples (rayez les mentions inutiles) ;)
 
L'exemple suivant est sous windows : je lis un fichier de conf XML contenant un nom et je dis bonjour à cette personne. Un helloworld remit au goût du jour quoi ;)
 
On va faire les choses proprement : je créé un rep e:\java\test pour mon projet.
Dedans, je créé un repertoire src qui va contenir les fichier sources (.java), un répertoire classes qui contiendra les fichier compilés, un répertoir lib qui contiendra les jar et un répertoire conf qui contiendra les fichier de configuration (ici le fichier XML)
 
E:\java\test
 -> src
 -> classes
 -> lib
 -> conf
 
première chose, installer Java. Moi je suis en 1.4.2 ca se passe là : http://java.sun.com/j2se/1.4.2/download.html. Attention : faut prendre le SDK, pas le JRE sinon vous n'aurez pas le compilateur. L'installe est tranquille. C'est un bête exe.
 
Ensuite, récupérer un parser XML. Ici je vais prendre xerces : http://xml.apache.org/dist/xerces-j/ (moi c'est la version 2.5 : Xerces-J-bin.2.5.0.zip).
Faut décompresser le zip pour trouver les fichiers xercesImpl.jar et xml-apis.jar. Il faut les copier dans le repértoire e:\java\test\lib.
 
Voici le fichier XML dont je vais me servir : e:\java\test\conf\data.xml


<?xml version="1.0"?>
<data>
   <name>Benou</name>
</data>


 
On peut maintenant ecrire le source. Je vais appeler ma classe HelloXML et la mettre dans le package hfr.benou => le fichier source est e:\java\test\src\hfr\benou\HelloXML.java
 
voici son contenu :

Code :
  1. package hfr.benou;
  2. import java.io.*;
  3. import javax.xml.parsers.*;
  4. import org.w3c.dom.*;
  5. public class HelloXML {
  6.    public static void usage() {
  7.       System.out.println("Usage : java hfr.benou.HelloXML xmlFile" );
  8.       System.exit(-1);
  9.    }
  10.    public static void main (String[] args) throws Exception {
  11.       if (args.length != 1) {
  12.          usage();
  13.       }     
  14.       DocumentBuilderFactory builderFact = DocumentBuilderFactory.newInstance();
  15.       DocumentBuilder docBuilder = builderFact.newDocumentBuilder();
  16.       Document doc = docBuilder.parse(new File(args[0]));
  17.       Element node = (Element) doc.getElementsByTagName("data" ).item(0);
  18.       node =  (Element) node.getElementsByTagName("name" ).item(0);
  19.       String name = node.getFirstChild().getNodeValue();
  20.       System.out.println("Hello " + name + " !" );
  21.    }
  22. }


 
 
Maintenant on fait quelques fichiers batch pour faciliter les choses :
 
 - e:\java\test\setEnv.bat : (à lancer une fois au lancement du shell)

Citation :


SET JAVA_HOME=C:\utils\j2sdk1.4.0_02
SET PATH=%JAVA_HOME%\bin;%PATH%
 
SET CLASSPATH=.\lib\xercesImpl.jar
SET CLASSPATH=%CLASSPATH%;.\lib\xml-apis.jar
SET CLASSPATH=%CLASSPATH%;.\classes


ici je redéfinit la variable JAVA_HOME, mais je crois me souvenir que c'est fait pendant l'installe du JDK. Dans le doute, mettez le repértoire dans lequel vous avez installé le JDK.
 
 - e:\java\test\make.bat : (pour compiler)

Citation :


javac -classpath %CLASSPATH% -d .\classes src\hfr\benou\*.java


 
 - e:\java\test\run.bat : (pour lancer le prog)

Citation :


java -classpath %CLASSPATH% hfr.benou.HelloXML .\conf\data.xml


 
Maintenant faut ouvrir une fenêtre DOS, aller dans le rep e:\java\test, lancer setenv, lancer make (ca créé le fichier E:\java\test\classes\hfr\benou\HelloXML.class), et lancer run et ca affiche :

Citation :


Hello Benou !


 
et voilà ! :)
 
[:tonton_benou]
 
 
 
Voir aussi : Le topic-passage-obligé pour débutants !


Message édité par benou le 25-05-2005 à 14:25:02

---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 02-09-2003 à 00:46:05  profilanswer
 

n°504606
the real m​oins moins
Posté le 02-09-2003 à 00:54:31  profilanswer
 

:ouch: [:prosterne]
 
je voudrais quand meme ajouter qu'en dehors du "." et de rares (tres rares) exceptions, on considerera que mettre des jars dans le CLASSPATH système est une mauvaise pratique [:aloy]
 
(c'est par exemple la porte grande ouverte à des conflits à la con entre librairies chargées par une appli et librairies identiques mais de versions differentes présente sur le classpath)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°504608
benou
Posté le 02-09-2003 à 00:58:24  profilanswer
 

tout à fait ! et même le '.', en pratique on ne s'en sert pas ...
 
la bonne méthode est d'avoir un environnement par projet : soit configuré dans l'IDE, soit dans des fichiers batch (.bat, ant, etc ...)


Message édité par benou le 02-09-2003 à 01:00:47

---------------
ma vie, mon oeuvre - HomePlayer
n°504609
the real m​oins moins
Posté le 02-09-2003 à 01:01:01  profilanswer
 

ouais enfin perso le . je l'y ai mis pour le coté pratique quand meme :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°504613
burgergold
5$? va chez l'diable!
Posté le 02-09-2003 à 01:25:23  profilanswer
 

eh mais on dirait que ce topic a tiré inspiration du mien :D


---------------
http://www.boincstats.com/signature/user_664861.gif
n°504680
darklord
You're welcome
Posté le 02-09-2003 à 09:04:16  profilanswer
 

[:prosterne] benou [:prosterne2]


Message édité par darklord le 02-09-2003 à 09:04:22

---------------
Just because you feel good does not make you right
n°504687
Taz
bisounours-codeur
Posté le 02-09-2003 à 09:21:40  profilanswer
 

il te reste plus qu'à rajouter dans les biliolinks
edit: tiens j'ai pas fait de remarque trollesque  :heink:


Message édité par Taz le 02-09-2003 à 09:22:52
n°505451
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-09-2003 à 17:51:02  profilanswer
 

Le Hello World de brute [:ddr555] Tout ça pour foutre xerces.jar dans le classpath :lol:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°505453
benou
Posté le 02-09-2003 à 17:52:23  profilanswer
 

Taiche a écrit :

Le Hello World de brute [:ddr555] Tout ça pour foutre xerces.jar dans le classpath :lol:


:D
 
faut bien trouver un exemple :)


---------------
ma vie, mon oeuvre - HomePlayer
n°575071
uriel
blood pt.2
Posté le 24-11-2003 à 19:57:47  profilanswer
 

[:drapo] sa race, merci benou,
ça marche maitenant :sweat:


Message édité par uriel le 24-11-2003 à 19:58:14

---------------
IVG en france
mood
Publicité
Posté le 24-11-2003 à 19:57:47  profilanswer
 

n°575372
gizmo
Posté le 25-11-2003 à 09:30:26  profilanswer
 

y a deux fois le point 4) :D

n°575380
benou
Posté le 25-11-2003 à 09:37:54  profilanswer
 

gizmo a écrit :

y a deux fois le point 4) :D


:o
 
(j'avais vu en plus [:cupra])


Message édité par benou le 25-11-2003 à 09:38:27

---------------
ma vie, mon oeuvre - HomePlayer
n°575561
xmulder
un peu plus au nord...
Posté le 25-11-2003 à 12:44:04  profilanswer
 

clap clap
 
joli topic mais ca parle q de l'environnement M$
pourrait-on mentionner les differences avec (par expl) Linux?
 
parcq justement g un soucis avec les classpath. -> http://forum.hardware.fr/forum2.ph [...] subcat=390
 
 
edit: je viens de trouver la solution a mon probleme en relisant ton topic. Il fallait mettre le .JAR dans le classpath
 
encore merci :jap:


Message édité par xmulder le 25-11-2003 à 13:31:15
n°575575
dropsy
et bonne chance surtout...
Posté le 25-11-2003 à 13:01:52  profilanswer
 

cool comme topic :)
merci :jap:

n°575668
benou
Posté le 25-11-2003 à 14:45:48  profilanswer
 

xmulder a écrit :

clap clap
pourrait-on mentionner les differences avec (par expl) Linux?


le topic est ouvert : si tu as les commandes exactes, donnes les et je les ajouterai au premier post


---------------
ma vie, mon oeuvre - HomePlayer
n°575773
the real m​oins moins
Posté le 25-11-2003 à 16:13:06  profilanswer
 

benou a écrit :


le topic est ouvert : si tu as les commandes exactes, donnes les et je les ajouterai au premier post


export CLASSPATH=$CLASSPATH:./lib/xml-apis.jar  
 
 
 
 
ps: perso j'ai un classpath systeme completement vide, a part parfois le . qd je suis d'humeur feignante. je sette le classpath specifiquement pour chaque appli (soit betement par java -cp blablabla.jar , soit avec un script specifique)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°575788
gizmo
Posté le 25-11-2003 à 16:21:37  profilanswer
 

le export, c'est pour les bsh. pour les csh, c'est la commande
 
setenv CLASSPATH "${CLASSPATH}:./lib/xml-apis.jar"

n°575791
the real m​oins moins
Posté le 25-11-2003 à 16:22:58  profilanswer
 

oui [:spamafote]
en meme temps, qqun sous csh est sans doute au courant :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°575793
gizmo
Posté le 25-11-2003 à 16:25:07  profilanswer
 

bah oui, mais bon, xmulder semblait le demander :D

n°577354
xmulder
un peu plus au nord...
Posté le 27-11-2003 à 12:28:53  profilanswer
 

je suis sous bash, mais je n'utilise pas $CLASSPATH.  
je suis pas un java-coder (d'où la question de nioubi) mais fallait q je teste une appli sur ma machine et je la lance avec -classpath=...  
 
merci.

n°577358
the real m​oins moins
Posté le 27-11-2003 à 12:37:32  profilanswer
 

oui c'est bcp mieux je trouve aussi :whistle:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°577493
veryfree
Posté le 27-11-2003 à 15:07:27  profilanswer
 

j'ai pas compris pourquoi tu as fait une partie XML ?
 
ca reste qd meme assez spécifique

n°577880
benou
Posté le 27-11-2003 à 22:09:52  profilanswer
 

veryfree a écrit :

j'ai pas compris pourquoi tu as fait une partie XML ?


pour l'exemple tu veux dire ?
 
c'était juste pour montrer un exemple d'importation de librairie externe ...


---------------
ma vie, mon oeuvre - HomePlayer
n°577962
veryfree
Posté le 28-11-2003 à 01:31:06  profilanswer
 

oki :)

n°578022
lorill
Posté le 28-11-2003 à 09:11:54  profilanswer
 

on peut avoir des infos sur les classloader, leur implémentations, les contraintes de sécurité qu'on peut y associer pour se faire une sandbox ?
[:neowen]

n°578080
darklord
You're welcome
Posté le 28-11-2003 à 10:30:42  profilanswer
 

lorill a écrit :

on peut avoir des infos sur les classloader, leur implémentations, les contraintes de sécurité qu'on peut y associer pour se faire une sandbox ?
[:neowen]


 
moi je veux bien (lorill serieux ca m'interesse moi :whistle: )


---------------
Just because you feel good does not make you right
n°578089
benou
Posté le 28-11-2003 à 10:42:44  profilanswer
 

lorill a écrit :

on peut avoir des infos sur les classloader, leur implémentations, les contraintes de sécurité qu'on peut y associer pour se faire une sandbox ?
[:neowen]


je suis pas un pro du ClassLoader, mais si quelqu'un maîtrise le sujet et peut faire un petit topo dessus, ca m'intéresse vachement !  :)


---------------
ma vie, mon oeuvre - HomePlayer
n°578097
lorill
Posté le 28-11-2003 à 10:52:38  profilanswer
 

DarkLord a écrit :


moi je veux bien (lorill serieux ca m'interesse moi :whistle: )


zut :o
 
http://www4.informatik.uni-erlange [...] l/6-A4.pdf

n°591622
candide2
Posté le 16-12-2003 à 10:57:37  profilanswer
 

J'ai créé un Jar exécutable et je l'ai mis dans le dossier c:\program files\WdView
Pour l'exécution "interface graphique", je double clique sur le JAR : ça marche.
 
Pour l'exécution en mode commande ( java -jar WdView.jar ), java ne trouve pas l'archive, je suis obligé de mettre le path complet.
 
J'ai essayé de définir le CLASSPATH  : C:\program files\wdview\wdview.jar et le PATH : c:\program files\wdview
mais rien à faire.
Qu'est ce que j'ai fait de mal ???

n°591634
meumeul
Stay Heavy
Posté le 16-12-2003 à 11:15:52  profilanswer
 

Procédure pour configurer le classpath dans JCreator
 
Configure => Option => JDKProfiles
On séléctionne le jdk utilisé (en général y'en a qu'un)
pi on va dans Edit
Ensuite On a la fiche de tous les jar et dossier du "classpath" de Jcreator. Add Path pour rajouter un dossier, et Add Archive pour rajouter un jar
 
Procédure pour configurer le classpath dans JBuilder
 
Outils => configurer les JDk
Ca affiche la liste des jar et dossier du classpath
Pour en rajouter : "Ajouter" pi vou mettez vos classes, vos jars ect...
 
Voila Benou. (c bien ce que tu voulais non?)
PS : Bravo pour ce topic, ca c de l'investissement! Merci!


Message édité par meumeul le 16-12-2003 à 11:20:11
n°591713
benou
Posté le 16-12-2003 à 12:41:04  profilanswer
 

Citation :

Pour l'exécution en mode commande ( java -jar WdView.jar ), java ne trouve pas l'archive, je suis obligé de mettre le path complet.


c'est normal ca ... c'est pas un problème de classpath ni de path ... c'est juste que tu dois indiquer le fichier à utiliser. => soit tu te mets dans le rep où se trouve le fichier et ca va marcher, soit tu mets le chemin complet. Là t'as pas trop le choix ....
 
edit : et merci :)


Message édité par benou le 16-12-2003 à 21:57:06

---------------
ma vie, mon oeuvre - HomePlayer
n°634335
black_lord
Truth speaks from peacefulness
Posté le 07-02-2004 à 08:51:33  profilanswer
 

[:abnocte invictus]

n°651385
Evolvox
Toujours y croire, toujours...
Posté le 22-02-2004 à 21:39:48  profilanswer
 

Je suis le livre très intéressant de Bruce Eckel "Thinking in java" et je coince au niveau de la création de packages...
 
J'ai 2 fichiers placés dans le répertoire C:\j2sdk1.4.2_03\evolvox\outils  :
 

Code :
  1. package evolvox.outils;
  2. public class List{
  3. public List(){
  4.  System.out.println("evolvox.outils.List" );
  5. }
  6. }


 

Code :
  1. package evolvox.outils;
  2. public class Vector{
  3. public Vector(){
  4.  System.out.println("evolvox.outils.Vector" );
  5. }
  6. }


 
Ensuite j'importe ces 2 classes à l'aide de ceci :
 

Code :
  1. import evolvox.outils.*;
  2. public class LibTest{
  3. public static void main(String[] args){
  4.  Vector v = new Vector();
  5.  List l = new List();
  6. }
  7. }


 
qui, quand je compile, m'engueule avec la fameuse erreur  (:cry:)  :
 
Exception in thread "main" java.lang.NoClassDefFoundError
 
 
Pourtant, il me semble avoir correctement écrit mon CLASSPATH :  
 

.;C:\j2sdk1.4.2_03


 
 
Une idée ?


Message édité par Evolvox le 22-02-2004 à 21:40:44

---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
n°651386
the real m​oins moins
Posté le 22-02-2004 à 21:44:54  profilanswer
 

et tu les a compilées tes 2 autres classes ?

n°651388
the real m​oins moins
Posté le 22-02-2004 à 21:45:44  profilanswer
 

euh si ct une erreur comme quoi il trouve pas les classes que tu as importées il te le dirait plus explicitement.

n°651389
Evolvox
Toujours y croire, toujours...
Posté le 22-02-2004 à 21:47:09  profilanswer
 

Oui, j'ai compilé les classes Vector et List, et n'y a pas eu d'erreur...


---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
n°651390
Evolvox
Toujours y croire, toujours...
Posté le 22-02-2004 à 21:48:57  profilanswer
 

Je vais mettr el'erreur en entier, je me disais que ça n'apportait pas grand chose...
 


C:\j2sdk1.4.2_03\thinking\5>javac Libtest.java
 
C:\j2sdk1.4.2_03\thinking\5>java Libtest
Exception in thread "main" java.lang.NoClassDefFoundError: Libtest (wrong name:
LibTest)
        at java.lang.ClassLoader.defineClass0(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)


---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
n°651393
Evolvox
Toujours y croire, toujours...
Posté le 22-02-2004 à 21:50:04  profilanswer
 

Pfff...
 
Erreur de majuscule...
 
Désolé.
 
[:nero27]


Message édité par Evolvox le 22-02-2004 à 21:52:10

---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
n°651394
the real m​oins moins
Posté le 22-02-2004 à 21:51:31  profilanswer
 

j'allais le dire...

n°659450
jcop
yeah !
Posté le 29-02-2004 à 18:28:05  profilanswer
 

hello,
 
j'ai un projet, mais j'arrive pas à le configurer sur cette merde de NetBeans :fou:
 
Ca compile bien mais à l'exécution il me met : java.lang.NoClassDefFoundError: blablabla
pourtant j'ai bien fait Menu Project -> Set Project Main Class et j'ai sélectionné la classe qui contenait le main() ...
 
pour info j'ai aucun problème avec la ligne de commande et avec Jcreator !!!
 
y'a quelqu'un qui connait NetBeans ?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  tout ce que vous avez toujours voulu savoir sur le CLASSPATH

 

Sujets relatifs
[PHP] Comment faites vous pour savoir quel champ n'est pas renseigné ?[PHP] savoir si un champs est vide ou pas...
[API] Comment savoir si la queue d'impression est vide ou non ?driver JDBC, Problème de ClassPath [Résolu]
[Javascript] Savoir si une date est postérieure à une autretout savoir sur L'asp et excel ...... et peut etre le vba?
[C] savoir si un fichier est déjà ouvert[Javascript] Peut-on savoir le nombre d'appel à une fonction ?
[JAVA]Savoir ce qui se passe quand click sur une scrollbar[Javascript] Savoir si qqch a été sélectionné dans un select multiple
Plus de sujets relatifs à : tout ce que vous avez toujours voulu savoir sur le CLASSPATH


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR