Votre question

[Java] message d'erreur lors de l'éxécution

Tags :
  • Thread
  • Programmation
Dernière réponse : dans Programmation
1 Février 2006 15:26:30

Bonjour à tous. Je commence seulement à apprendre le Java. J'ai fais une petite fonction, je la compile dans dos via javac.exe (j'utilise j2sdk et netbeans 4.1). Mais lorsque je veux la lancer avec java.exe, un message d'erreur s'affiche :
donc je tape ......\java args a b c d et voilà le message :
Citation :
Exception in thread "main" java.lang.NoClassDefFoundError: args/class


je vous donne aussi le code de la fonction, c'est vraiment pas compliqué.
Citation :
public class args {

public static void main(String[] arg){
int i;
System.out.println("nombre d'arguments = "+arg.length);
for(i=0;i<arg.length;i++){
System.out.println("arg["+i+"]= "+arg);
}//for
}//main
}//classe


j'ai essayé avec d'autre fonction toutes plus simple que les autres et ca ne fonctionne pas non plus.
Merci d'avance

Autres pages sur : java message erreur execution

1 Février 2006 15:30:13

ton fichier s'appelle bien args.java ?
1 Février 2006 15:31:42

oui, et une fois que je le compile il devient args.class
Contenus similaires
1 Février 2006 18:51:25

pour info j'avais deja fait une execution y'a qq mois avec un tutorial (sais pu c'est lequel) et ca avait marché... personne ne pourrait m'aider plz :)  ?
a b L Programmation
1 Février 2006 19:27:06

C'est pas en Java que toutes les classes doivent commencer par une majuscule ? (c'est-à-dire "Args" au lieu de "args").
1 Février 2006 19:57:48

oui c'est ce que l'on m'a di, j'ai essayé en changeant le nom de la classe (donc du fichier aussi => Arg.java) mais ca marche pas.
en fait pour le message d'avant c'est parceque je faisait java args.class au lieu de java args
mais maintenant ca me met un autre message:
Citation :
E:\programmation\J2SDK\bin>java Args
Exception in thread "main" java.lang.NoClassDefFoundError: Args <wrong name: javaaplication1/Args>
at java.lang.ClassLoader.defineClass1<Native Method>
at java.lang.ClassLoader.defineClass<ClassLoader.java:620>
etc...

j'ai pensé que c'était le nom args qui était réservé, j'ai essayé avec un autre nom mais ca marche toujours pas...
a b L Programmation
1 Février 2006 20:37:33

Et tu lances le "java Args" en étant dans le répertoire qui contient le Args.class ?
1 Février 2006 21:51:56

oui oui, on me di qu'apparement il faut mettre le nom complet de la classe principale, c'est à dire aussi le nom du packtage. v essayer ca :) 
merci tout le monde ;) 
1 Février 2006 21:59:43

salut pour moi le probleme ne viens pas du nom de ta classe.
La signature d'une méthode de type main est "public static void main(string[] arg)
mais ca ne veut pas dire qu'elle importe un paramètre de type string.
pour moi le probleme vient du fait que arg.length n'est pas défini car il ne trouve pas le tableau arg

la solution serai d'inclure ton calcul dans une méthode et definir ton tableau avant de lancer ta méthode
2 Février 2006 14:10:46

le problème c'est que j'ai essayer avec une autre fonction qui devait juste afficher "bonjour tout le monde". Dans netbeans ca fonctionne très bien mais dans dos impossible de le lancer.....
c'est bien "java" qu'il faut utiliser ? j'ai essayer avec "javah" mais ca met un autre message d'erreur.... comprends vraiment pô.
2 Février 2006 16:46:37

vla la solution :

public class Args {

public static void main(String[] args){
int i;
System.out.println("nombre d'arguments = "+args.length);
for(i=0;i<args.length;i++){
System.out.println("arg["+i+"]= "+args);
}//for
}//main
}//classe


dans public static void main(String[] args) args prend un s, ton erreur était là, après suffit de mettre des s à tous tes args et voila ^^
2 Février 2006 17:10:36

malheureusement ce n'est pas ça, j'ai essayer avec une fonction contenant seulement:
  1. System.out.println("bonjour tout le monde");
et ça ne fonctionne pas. Pourtant il y a bien un "S" a "args" et ca fonctionne dans netbeans...
2 Février 2006 20:17:14

tu veux qu'il fasse quoi ton programme exactement ? Et donne un exemple concret
3 Février 2006 13:12:22

juste une question... ton main prends des args en parametre, et effectivement tu ten sers...
mais dans ta commande java, tu les passe pas en parametre?
8 Février 2006 16:52:54

Désolé mais ton petit programme marche tres bien !!!
Je ne voit pas du tout d'erreurs !!!
Je vient de le tester il roule tres bien.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS