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

  FORUM HardWare.fr
  Programmation
  Java

  Probléme pour éxecuter programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probléme pour éxecuter programme

n°1174633
IrishDwarf
Posté le 11-08-2005 à 15:16:28  profilanswer
 

Alors voilàje sait qu'il y a un forum pour ca mais je comprend pas les explications!
Alors voilà ma situation:
J'ai un programme composé de plusieurs fichier java et class, ces fichier sont sous home (je suis sous linux!!!!!!!)
J'ai installé eclipse sous local (pas le choix!)
J'ai télécharger une jxl (jexcelapi) et je l'ai mise sous mon home
J'ai rattaché le jar de jexcelapi à la classpath dans Eclipse! Ca ca marche!
Mon programme s'éxécute sans erreurs et sans warning sous Eclipse! "jusque là tout vas bien..."
Mais il doit etre éxécuter depuis le shell!
Hé là je suis paumé! Je dois exécuter quoi le .class ou le .java?
 
Ma commande est celle ci:
/local/chemin2/java  /home/chemin1/projet.java  arguments
Et j'obtient:  
Exception in thread "main" java.lang.NoClassDefFoundError: /home/chemin/projet/java
 
Si quelqu'un pouvais m'expliquer....
Merci d'avance.

mood
Publicité
Posté le 11-08-2005 à 15:16:28  profilanswer
 

n°1174651
benou
Posté le 11-08-2005 à 15:33:15  profilanswer
 

la commande java prend en argument un nom complet de classe, pas le chemin vers le fichier java


---------------
ma vie, mon oeuvre - HomePlayer
n°1174655
ali0baba
Posté le 11-08-2005 à 15:36:30  profilanswer
 

il ne faut pas mettre le ".java" :
/local/chemin2/java  /home/chemin1/projet  arguments

n°1174656
ali0baba
Posté le 11-08-2005 à 15:37:40  profilanswer
 

car java remplace les "." par des "/" et il croit que tu veux excuter le programme : "java.class" qui est dans le repertoire : /home/chemin1/projet/

n°1174659
benou
Posté le 11-08-2005 à 15:41:56  profilanswer
 

ali0baba a écrit :

il ne faut pas mettre le ".java" :
/local/chemin2/java  /home/chemin1/projet  arguments


mais nan  :sweat:  
 

/local/chemin2/java projet arguments


 
au passage :  
* les conventions veulent qu'une classe commence par une majuscule
* il est préférable d'utiliser des packages
* 10 contre 1 que le classpath n'est pas ou mal configuré :/


---------------
ma vie, mon oeuvre - HomePlayer
n°1174660
push
/dev/random
Posté le 11-08-2005 à 15:44:51  profilanswer
 
n°1174662
masklinn
í dag viðrar vel til loftárása
Posté le 11-08-2005 à 15:45:26  profilanswer
 

http://java.sun.com/docs/books/tutorial/
 
edit: problème de classpath? [:mlc]  
Il essaie d'exécuter son .java [:mlc]


Message édité par masklinn le 11-08-2005 à 15:47:06

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1174677
ali0baba
Posté le 11-08-2005 à 15:57:52  profilanswer
 

ali0baba a écrit :

il ne faut pas mettre le ".java" :
/local/chemin2/java  /home/chemin1/projet  arguments


 
 
plutot un truc comme ca :
/local/chemin2/java -classpath /home/chemin1 projet  arguments

n°1174704
IrishDwarf
Posté le 11-08-2005 à 16:23:28  profilanswer
 

Alors si je fait projet sans extension ca me donne:
Exception in thread "main" java.lang.NoClassDefFoundError: /home/projet/InfosServeurs/Serveur/Tomas (wrong name: Serveur/Tomas)
        at java.lang.ClassLoader.defineClass0(Native Method)
 
Alors voilà les vrais nom du chemin!
 
Par contre j'utilise bien des packages, "Serveur", d'autres fichier java se trouvant dans d'auteres package, la base commune étant InfosServeurs.
 
Pour mon classpath, il marche trés bien avec eclipse. Si je dois le refaire, j'ai pas compris les 2 méthodes du tutorial. Ca se fait avant de lancé le prog ou alors ca se fait en meme temp? Il m'affiche l'aide de java (???)

n°1174744
benou
Posté le 11-08-2005 à 16:57:39  profilanswer
 

IrishDwarf a écrit :

Ca se fait avant de lancé le prog ou alors ca se fait en meme temp? Il m'affiche l'aide de java (???)


les deux méthodes sont possibles
 
quand tu donnes un message d'erreur, écris la ligne de commande qui a généré cette erreur, par ce que là je suis dans le floux !


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 11-08-2005 à 16:57:39  profilanswer
 

n°1174755
IrishDwarf
Posté le 11-08-2005 à 17:04:20  profilanswer
 

Désolé! Voilà la commande
 
/local/Borland/JBuilder2005/jdk1.4/jre/bin/java /home/projet/InfosServeurs/Serveur/Tomas /home/projet/InfosServeurs/adressesIP.txt
 
J'ai essayé celle avec java (j'ai pas trouvé javac) et il me donne l'aide (comme un "man" ou un "-h" ), voilà la ligne:
/local/Borland/JBuilder2005/jdk1.4/jre/bin/java -classpath /home/jexcelapi/jxl.jar; /home/projet/InfosServeurs/Serveur/Tomas /home/projet/InfosServeurs/adressesIP.txt

n°1174867
benou
Posté le 11-08-2005 à 19:12:43  profilanswer
 

remplace /home/projet/InfosServeurs/Serveur/Tomas par Serveur.Tomas et /home/jexcelapi/jxl.jar; par /home/jexcelapi/jxl.jar;/home/projet/InfosServeurs/


---------------
ma vie, mon oeuvre - HomePlayer
n°1175054
IrishDwarf
Posté le 12-08-2005 à 10:19:29  profilanswer
 

Je tape:
/local/Borland/JBuilder2005/jdk1.4/jre/bin/java -classpath /home/jexcelapi/jxl.jar ; /home/projet/InfosServeurs/ /home/projet/InfosServeurs/Serveur.Tomas /home/projet/InfosServeurs/adressesIP.txt
 
Et il me fournit encore la même erreur, il affiche l'aide (comme pour un -h). Il y aurait pas une erreur d'écriture encore qui traine?
 
De plus je me suis rendu compte qu'à la fin il y avait:
/home/kzerelli/projet/InfosServeurs/: Permission denied.
Pourtant dans ce répertoire toutes les autorisation sont OK!

n°1175057
benou
Posté le 12-08-2005 à 10:24:56  profilanswer
 


mais tu as pas fait ce que je t'ai dit  :sweat:  
 


/local/Borland/JBuilder2005/jdk1.4/jre/bin/java -classpath /home/jexcelapi/jxl.jar;/home/projet/InfosServeurs/ Serveur.Tomas /home/projet/InfosServeurs/adressesIP.txt  



---------------
ma vie, mon oeuvre - HomePlayer
n°1175069
IrishDwarf
Posté le 12-08-2005 à 10:40:26  profilanswer
 

Là moi je comprend pas!!
Je copie ta ligne de commande et j'ai toujours le même résultat!

n°1175489
benou
Posté le 12-08-2005 à 21:36:30  profilanswer
 

en même temps, j'essaye de deviner ton environnement de travail vu que tu nous l'as pas décrit. Mais avec la ligne de commande que je t'ai filé, c'est impossible que tu ais *exactement* le même résultat. le massage d'erreur est forcémenent différent.
 
Bref, décrit mieux ton environnement, et quand tu une erreur indique la ligne de commade exacte et le message d'erreur exacte obtenus sinon on a aucune chance de s'en sortir !


---------------
ma vie, mon oeuvre - HomePlayer
n°1176869
IrishDwarf
Posté le 16-08-2005 à 10:07:36  profilanswer
 

Ben euh .... mon environnement.... c'est linux redhat
Je travail avec eclipse 3.0.2
Ma jre system c'est la 1.4
 
Voilà maintenant ce que j'ai:

Citation :

(1) -> /local/Borland/JBuilder2005/jdk1.4/jre/bin/java -classpath /home/jexcelapi/jxl.jar;/home/projet/InfosServeurs/ Serveur.Tomas /home/projet/InfosServeurs/adressesIP.txt
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
 
where options include:
    -client       to select the "client" VM
    -server       to select the "server" VM
    -hotspot      is a synonym for the "client" VM  [deprecated]
                  The default VM is client.
 
    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A : separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -showversion  print product version and continue
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
/home/projet/InfosServeurs/: Permission denied.
(2) ->

n°1176920
IrishDwarf
Posté le 16-08-2005 à 10:52:53  profilanswer
 

En fait je me demande : il serait pasz plus simple et plus propre d'exporter le projet sous la forme d'un jar exécutable ou d'autre chose?
Mon but final étant de livré un éxécutable?
Si oui, y a t il un moyen d'y joindre la librairy que j'ai rajouté?

n°1176925
masklinn
í dag viðrar vel til loftárása
Posté le 16-08-2005 à 10:59:52  profilanswer
 

Un JAR c'est pas magique [:pingouino]
 
Si ça fonctionne pas en l'état actuel il n'y a aucune raison pour que ça fonctionne une fois en jar [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1176944
IrishDwarf
Posté le 16-08-2005 à 11:15:41  profilanswer
 

Le truc c'est que ca fonctionne bien sous eclipse, alors je me disais qu'en exportant depuis eclipse...

n°1176980
souk
Tourist
Posté le 16-08-2005 à 11:35:12  profilanswer
 

surement con comme remarque, mais tu es au courant que sous linux/unix pour separer les entrées dans ton classpath, il faut utiliser ":" et pas ";" ? [:dawa]

n°1177068
IrishDwarf
Posté le 16-08-2005 à 13:39:50  profilanswer
 

Alors j'ai utilisé cette ligne de commande:

Citation :

/local/Borland/JBuilder2005/jdk1.4/jre/bin/java -classpath /home/jexcelapi/jxl.jar : /home/projet/InfosServeurs/ Serveur.Tomas /home/projet/InfosServeurs/adressesIP.txt


 
Et j'obtient:

Citation :

Exception in thread "main" java.lang.NoClassDefFoundError: :


Message édité par IrishDwarf le 16-08-2005 à 13:40:48
n°1177134
souk
Tourist
Posté le 16-08-2005 à 15:14:08  profilanswer
 

t'as mis un espace entre jxl.jar et : c'est normal ?[:itm]


Message édité par souk le 16-08-2005 à 15:15:01
n°1177253
IrishDwarf
Posté le 16-08-2005 à 17:04:33  profilanswer
 

Même les espaces comptent!!! Je vais devenir fou!!! :pt1cable:  
 
Je tape:

Citation :

/local/Borland/JBuilder2005/jdk1.4/jre/bin/java -classpath /home/jexcelapi/jxl.jar: /home/projet/InfosServeurs/ Serveur.Tomas /home/projet/InfosServeurs/adressesIP.txt


 
et j'obtient:

Citation :

Exception in thread "main" java.lang.NoClassDefFoundError: /home/projet/InfosServeurs/


n°1177267
souk
Tourist
Posté le 16-08-2005 à 17:11:57  profilanswer
 

:sweat:
 
essaie ca:

Code :
  1. /local/Borland/JBuilder2005/jdk1.4/jre/bin/java -classpath /home/jexcelapi/jxl.jar:/home/projet/InfosServeurs/ Serveur.Tomas /home/projet/InfosServeurs/adressesIP.txt


 
pas d'espace avant NI apres les : ...

n°1177268
souk
Tourist
Posté le 16-08-2005 à 17:12:28  profilanswer
 

et essaie de comprendre le message d'erreur, il est plutot facile a saisir celui la :/

n°1177273
IrishDwarf
Posté le 16-08-2005 à 17:22:22  profilanswer
 

Euh y a pas de messages d'erreurs!!!!!!
Ca marche.....
Souk tu veux m'épouser? Je t'aimes tu sais! toi aussi benou, je vous aime tous!!!!!!!

n°1177282
souk
Tourist
Posté le 16-08-2005 à 17:33:17  profilanswer
 

euh ca:
 

Code :
  1. Exception in thread "main" java.lang.NoClassDefFoundError: /home/projet/InfosServeurs/


 
c'est un message d'erreur hein

mood
Publicité
Posté le   profilanswer
 


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

  Probléme pour éxecuter programme

 

Sujets relatifs
Un programme français du style de Zend Platform ?probleme de headers avec HTTPS
[VB.NET] Problème étrange...Aide svpProblème avec un script de téléchargement
Problème avec $_GETProblème de tableau array
Probleme de header(...)Problème pour parser une page web au niveau de fgets().
Probleme DBGrid Delphi selection celluleProbleme de compilation Visual C++, enfin je crois
Plus de sujets relatifs à : Probléme pour éxecuter programme


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