Bonjour,
voila, j'essai de me connecter a une base oracle avec Java, j'utilise Eclipse et j'ai le message d'erreur suivant:
Quote:
java.lang.NoSuchMethodError: main
Exception in thread "main"
je vous remercie d'avance pour vos réponses.
Salutations.
Bonjour,
C'est un peu court comme définition de ton problème. Mais bon, le message d'erreur semble être un peu plus explicite....
Résumons pour bien comprendre :
_ tu utilise éclipse pour développer
_ tu as écrit un programme java qui se connecte à une base de donnée
_ tu a un problème quand tu fait exécuter ton programme avec la commande "Exécuter..." d'Eclipse.
La réponse est tout simplement, il n'y a pas de méthode main dans la classe que tu essaye d'éxécuter (ou alors ta méthode main n'a pas la bonne signature).
Voilà la réponse en fonction des indications que tu as donné. Sinon, il faut plus de détail.
je te remercie pour ta réponse,
en fait je suis désolé d'avoir résumé mon problème, voici le code que j'utilise:
Ton code confirme bien ce que j'ai écrit précédement, ta fonction main n'existe pas.
Ta fonction main contient un argument de trop "String username" et n'est donc pas reconnu par Java. Cette fonction a une signature particulière qui ne doit pas être changer (Regarde celle que je t'ai donnée en exemple).
Je suppose que tu veux récupérer la variable "username" en tant que paramètre de ton programme. Il te faut donc modifier ton code de cette façon :
Le tableau de String "args" contient les arguments de la ligne de commande, avzec args[0] = 1er arguement, args[1] = 2ème argument etc...
je te remercie grand chef pour ta réponse la j'ai un autre message aprés rectification:
Parce que tu n'as pas passé d'argument à ton programme.
La première chose serait d'écrire un petit test :
Ensuite, il te faut passé l'argument à ton programme lors de l'éxécution. Pour celà, tu peux paramètrer le lancement dans eclipse.
Dans le menu "Exécuter>Executer..." tu crée une nouvelle application java. Dans l'onglet "argument" tu peux ajouter la valeur que tu veux. Il ne te reste plus qu'à appliquer le changement et à cliquer sur le bouton "executer".
Je te remercie chef pour tes efforts
j'ai fait ce que tu ma proposé et j'etai dans l'obligation de donne une valeur a mon args, voici le nouveau message:
j'ai donner la valeur suivante ${eclipse_home}
Donc tu avais le message "Il manque l'argument pour le programme" ce qui était donc prévu puisque tu ne devais pas avoir mis d'arguement à ton programme.
C'est la suite que je ne comprends plus :
Effectivement, la valeur "/C:/eclipse/" correspond à la variable "${eclipse_home}", du moins je suppose.
Le message indique de tu essaye d'utiliser "/C:/eclipse/ " en tant qu'objet. Ce qui serait bien se serait d'avoir le numéro de ligne qui fait ce problème. La trace complète serait la bienvenue et le code que tu utilises maintenant, ça serait pas mal
je te remercie grand chef, j'utilise toujours le meme code, avec les modifications que tu ma donner
Le "grand chef" n'est pas obligatoire....
Concernant ton code, quand je l'éxécute avec comme argument "toto" mon retour est
Ce qui est bien concevable car je n'ai pas ta base de donnée et je n'ai pas configuré la connexion
Une fois que j'ai tout paramétré (j'ai du modifier la requête, et les paramètres de connexion à mon serveur) tout marche bien.
Je pense donc que c'est simplement le paramètre que tu as mis dans ton programme. Essai simplement avec toto apr exemple
PS: grand chef c'est juste question d'habitude pour moi
si j'enleve la variable j'aurai le meme message que le tiens base introuvable et la suite;
et si je la remet j'aurai le meme message
Cher amis développeurs est ce que vous pouvez m'aider afin de résoudre mon problème
merci pour votre habituelle collaboration
Alors enlève là. Cette variable ne sert à rien dans ton cas. Elle indique simplement le répertoire d'installation d'Eclipse.
Si tu as le même message que le miens, cela signifie tout simplement que les paramètres de connexion à ta base de donnée sont faux.
Dans la méthode "connexionBD", il faut que tu change les valeurs des variables url, user, pwd pour que ça marche