cs_sisi85
Messages postés12Date d'inscriptionsamedi 14 février 2009StatutMembreDernière intervention24 novembre 2009
-
21 oct. 2009 à 16:55
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
26 oct. 2009 à 14:21
bonsoir,
je m'excuse pour le dérangemet mais j'ai besoin de votre aide.
je travaille en java sous l'eclipse sous ubuntu. mon application s'xécute normalment sous l'eclipse mais quand j'ai passé sous console ubuntu avec la commande "java Main.java" un message d'erreur s'affiche:
Exception in thread "main" java.lang.NoClassDefFoundError: Main/java
Caused by: java.lang.ClassNotFoundException: Main.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
Could not find the main class: Main.java. Program will exit.
cs_sisi85
Messages postés12Date d'inscriptionsamedi 14 février 2009StatutMembreDernière intervention24 novembre 20091 26 oct. 2009 à 14:16
Bonjour,
merci rt15 vous m'avez vraiment bien m'aider juste une dernière question:
pour compiler et exécuter mon application j'ai besoin a chaque fois que j'ouvre un nouvel terminal de configurer CLASSPATH avec la commande:
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 24 oct. 2009 à 13:49
Salut,
Merci de poster sur javafr dans un thème java pour un problème java.
Concernant ton problème...
On ne peut pas exécuter directement un fichier .java. Il faut le compiler en byte-code.
Pour ça il faut utiliser le compilateur : javac. Il est fourni dans le répertoire bin du jdk que tu dois avoir car eclipse a besoin d'un jdk. Donc, avec le dossier bin du jdk dans ton PATH, tu fais :
javac Main.java
Tu obtiens un fichier Main.class
Pour l'exécuter, tu peux essayer :
java Main
(Tu remarques que l'on ne précise pas l'extension .class)
Mais cela peut ne pas fonctionner, car le .class n'est pas forcément dans le CLASSPATH qui n'inclut pas forcément le dossier courant...
Donc il faut plutôt tenter :
java -cp . Main
Cela indique à la machine virtuelle d'ajouter . (Le dossier courant) au class path.