Probleme d'applet avec un package sous eclipse [Java] - Java - Programmation
Marsh Posté le 09-03-2005 à 13:05:01
Je suis vraiment confu.....
En fait ca marche, c'est juste avec le pc sous windoze 98 que ca marche pas. Sans doute un internet explorer ou un JVM trop vieux.
Ca marche tres bien sur un autre PC avec millenium.
Ce qui m'a induit en erreur, c'est que le PC sous windows 98 m'indiquait une exception "class not found", alors qu'en fait le probleme venait pas de la.
Du coup avec eclipse il suffit d'exporter le package vers une archive jar, on peut meme direcetement lui dire qu'il fasse un fichier manifest, et on lui indique la classe ou se trouve le main(). Ensuite il me reste a signer le jar.
Grace au manifest, on peut directement lancer l'application en double cliquant sur le fichier jar.
Du coup ca repond parfaitement a mon besoin, qui etait :
- Pouvoir lancer l'application par double clic sur les platformes ou c'est possible (la methode main() est appelée directement )
- Pouvoir lancer l'application en ouvrant une page html sur le disque local pour les autres platformes ( Ce coup ci c'est la methode init() qui est appelée ).
Bref, desolé d'avoir pollué pour rien le forum.
Bonne journée a tous !
Marsh Posté le 09-03-2005 à 11:55:19
Decidemment j'en ai des ennuis en ce moment !!
Cette fois ci, c'est plus trop en relation avec le code.
Avant d'utiliser eclipse, pour faire tourner une applet dans une page web, je faisais dans mon repertoire de travail :
javac *.java
jar cvf Applet.jar *.class
jarsigner -signedjar SApplet.jar Applet.jar xxx (pour avoir acces au fichiers et sockets)
Ensuite pour faire marcher l'applet avec appletviewer ou un navigateur, je creais un fichier html contenant (notez que la methode init() est dans le fichier Menu.class) :
<html>
<applet code="Menu" archive="SApplet.jar" width="100" height="50">
</applet>
</html>
Ce truc la marchait bien, que ce soit avec appletviewer, ou un navigateur window ou linux.
Maintenant dans un souci de confort de programmation, j'utilise eclipse (un editeur texte c'est bien, mais au bout d'un moment c'est lourd!!).
Mais avec celui ci quand je crée un projet je suis visiblement obligé de créer un package (que j'ai appelé 'monAppliVisuelle'). Ca rajoute les lignes package monAppliVisuelle; au debut de chaque fichier source.
J'utilise pour creer mon jar la fonction export d'eclipse, mais du coup dans l'archive les .class se trouvent dans un sous repertoire 'monAppliVisuelle'.
Donc apres avoir signé le jar, si j'utilise la meme page html que ci dessus, ca merde puisqu'il ne trouve pas la classe Menu.
Donc j'ai essayé de modifier la page comme ceci :
<html>
<applet code="monAppliVisuelle/Menu" archive="SApplet.jar" width="100" height="50">
</applet>
</html>
Apparemment ca fontionne avec Mozilla sous linux, mais ca fonctionne pas sur un windows 98 et internet explorer.
Y'aurait pas une astuce sous eclipse pour faire sauter le package ? Sinon c'est la galere, quand mon projet est fini et que je veux faire un test en reel, je suis obligé d'enlever tous les package monAppliVisuelle;, faire un javac *.java, un jar a la main, bref, comme je le faisais au depart.
Desolé si cette question a deja été posée, mais j'ai fais plein de recherches partout et j'ai pas trouvé d'explication. :-(
Bonne journée a tous !