Probléme pour éxecuter programme

Probléme pour éxecuter programme - Java - Programmation

Marsh Posté le 11-08-2005 à 15:16:28    

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.

Reply

Marsh Posté le 11-08-2005 à 15:16:28   

Reply

Marsh Posté le 11-08-2005 à 15:33:15    

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


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-08-2005 à 15:36:30    

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

Reply

Marsh Posté le 11-08-2005 à 15:37:40    

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/

Reply

Marsh Posté le 11-08-2005 à 15:41:56    

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
Reply

Marsh Posté le 11-08-2005 à 15:44:51    

Reply

Marsh Posté le 11-08-2005 à 15:45:26    

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
Reply

Marsh Posté le 11-08-2005 à 15:57:52    

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

Reply

Marsh Posté le 11-08-2005 à 16:23:28    

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 (???)

Reply

Marsh Posté le 11-08-2005 à 16:57:39    

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
Reply

Marsh Posté le 11-08-2005 à 16:57:39   

Reply

Marsh Posté le 11-08-2005 à 17:04:20    

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

Reply

Marsh Posté le 11-08-2005 à 19:12:43    

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
Reply

Marsh Posté le 12-08-2005 à 10:19:29    

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!

Reply

Marsh Posté le 12-08-2005 à 10:24:56    


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
Reply

Marsh Posté le 12-08-2005 à 10:40:26    

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

Reply

Marsh Posté le 12-08-2005 à 21:36:30    

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
Reply

Marsh Posté le 16-08-2005 à 10:07:36    

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) ->

Reply

Marsh Posté le 16-08-2005 à 10:52:53    

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é?

Reply

Marsh Posté le 16-08-2005 à 10:59:52    

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
Reply

Marsh Posté le 16-08-2005 à 11:15:41    

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

Reply

Marsh Posté le 16-08-2005 à 11:35:12    

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]

Reply

Marsh Posté le 16-08-2005 à 13:39:50    

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
Reply

Marsh Posté le 16-08-2005 à 15:14:08    

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


Message édité par souk le 16-08-2005 à 15:15:01
Reply

Marsh Posté le 16-08-2005 à 17:04:33    

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/


Reply

Marsh Posté le 16-08-2005 à 17:11:57    

: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 : ...

Reply

Marsh Posté le 16-08-2005 à 17:12:28    

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

Reply

Marsh Posté le 16-08-2005 à 17:22:22    

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!!!!!!!

Reply

Marsh Posté le 16-08-2005 à 17:33:17    

euh ca:
 

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


 
c'est un message d'erreur hein

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed