rajoute -keystore mes_cle à la commande jarsigner
Apparement la doc que je t'ai fournie "oublie" de signer le jar, facheux vu le titre du chapitre Je contacte son auteur.
rajoute -keystore mes_cle à la commande jarsigner
Apparement la doc que je t'ai fournie "oublie" de signer le jar, facheux vu le titre du chapitre Je contacte son auteur.
ça va !!j'ai enfin signé mon jar!!mais il ya une faute lors du chargement de l'applet!!je vais la poster
l'erreur produite lors du chargement de l'applet est:
java.lang.IllegalThreadStateException
at java.lang.Thread.start(Unknown Source)
at Main.startEngine(Main.java:83)
at appletcam.start(appletcam.java:37)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception : java.lang.IllegalThreadStateException
SQLException: Communications link failure
Last packet sent to the server was 0 ms ago.
SQLState: 08S01
VendorError: 0
Exception in thread "Thread-11" java.lang.NullPointerException
at AccesBd.MAJ_pt(AccesBd.java:64)
at Main.startCapture(Main.java:151)
at Main.run(Main.java:88)
at java.lang.Thread.run(Unknown Source)
T'as une erreur dans ton code à at Main.startEngine(Main.java:83)
voila mon main ,,je ne sais pas ou est la faute!!
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
voila accesBd.java et la ligne 64 est vérifié pr moi!!
c'est le select....date_deb<....date_fin
toute est réglé dans la BD!!ou est le pb!!:mur
la ligne aurrait suffit, pas besoin de tout le code. Ton erreur a lieu sur thread.start(). tu fait probablement deux fois appel à start sur le même thread, ce qui est interdit.
ok !!mais comment régler ça car je suis sur le point de la folie Mr!!
Je crois que c'est parcequ'on appelle la methode panel.startEngine() deux fois dans l'applet : une fois dans le constructeur, et l'autre dans la methode start(). Tu peux enlever celui qui est dans la methode start.
Méthode sale et simple : créer un nouveau thread à chaque appel de startEngine()
Méthode moins sale : interdire de démarrer 2 fois le même thread
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public void startEngine() { new Thread(this).start(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public void startEngine() { if (thread.getState()==State.NEW) thread.start(); }
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pourquoi mon jar exe en double cliquant dessus ne s'exécute pas?
c'est bien, le navigateur affiche la cam, mais ne fait pas son traitement avec la base de données. Aucune mise à jour. Le jar comprend le mysql_connector...
c'est étrange !
Le jar n'est pas sensé s'executer, il comprend le pilote jdbc et des routines pour communiquer avec la base de données. Tu dois l'ajouter à ton classpath pour pouvoir l'utiliser. Tu peux toujour ouvrir la console java pour voir les exceptions lancées pour etre mieux situer.
Parce que c'est une applet que tu viens de faire.
Quand t'aura résolu ta première exception (illegalstate sur le thread.start) on passera à la deuxième si elle est encore présente (illegalstate sur la base de données). Accessoirement si tu pouvais éviter d'abuser d'abréviations dans tes messages, ça nous aiderais à les comprendre.c bien le navigateur affiche la cam mais ne fait pas son traitement avec la BD!!aucune MAJ ni rien faire!!le jar comprend le mysql_connector...
c'est étrange !!!
je veux dire que l'applet n'accède pas à la base de données et il n'ya aucune erreur ,je vois juste la cam affichée dans le navigateur c'est tout!!
alors que je veux qu'il ouvre le fichier texte,extrait la valeur de la première ligne dedans,réalise les MAJ nécessaires dans la base puis effacer la première ligne!!
Pour voir la console, si tu utilise par exemple firefox, c'est dans Outils>Console java. Si tu es sous windows, tu peux voir dans barre de tache à en bas à droite l'icone de java et un double clic sur l'incone fait apparaitre la console.
aucune erreur .oui
la cam s'ouvre dans le navigateur mais le code de capture ne s'exécute pas!!comme si il ne parvient pas à la base de données!!
Dans ce cas, la seule solution est de rajouter des System.out.println() un peu partour dans ton code d'accès à la base de données pour voir dans quoi tu passe et dans quoi tu ne passe pas.
c'est System.out.println() peuvent figurer dans l'applet??
et généralement,l'applet peut interférer facilement avec une bd??
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager