Jar applet et html

Jar applet et html - Java - Programmation

Marsh Posté le 02-04-2005 à 12:06:42    

Je ne comprends pas pourquoi j'ai une erreur de "claccNotFound".
J'ai un jar dans lequel y'a trois repertoires :  
classes
documentation
meta-inf
 
et dans le repertoire classes, y'a le sous repertoire othello et là, y'a mon applet (la classe principale de l'appli).
 
Au même niveau que mon jar, j'ai ma page html qui contient le code suivant :  

Code :
  1. <applet
  2.   codebase = "."
  3.   code     = "classes.othello.Launch"
  4.   archive  = "OthelloSigne.jar"
  5.   name     = "Othello - JB Figther"
  6.   width    = "400"
  7.   height   = "300"
  8.   hspace   = "50"
  9.   vspace   = "50"
  10.   align    = "middle"
  11. >
  12. </applet>


 
Et y'a l'erreur citée plus haut (ClassNotFound). Quelqu'un peut me dire mon erreur siouplé ?


Message édité par Papy Brossard le 03-04-2005 à 13:57:59
Reply

Marsh Posté le 02-04-2005 à 12:06:42   

Reply

Marsh Posté le 03-04-2005 à 16:00:31    

'lut
 
il est "bizarre" que dans ton jar, l'architecture comprennent le répertoire "classes"...

OthelloSigne.jar
      |
      |-- classes
             |
             |-- othello
                    |
                    |-- Launch.class


 
si c normal cela veut dire que le nom du paquetage de ton projet est : classes.othello
 
si le nom de ton package est othello alors ton .jar doit avoir la structure suivante :

OthelloSigne.jar
      |
      |-- othello
             |
             |-- Launch.class


 
a+
 


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 03-04-2005 à 23:21:07    

bah j'ai crée mon jar avec Jbuilder et c'est lui qui a mis les repertoires de cette façon... Mais tu as raison, c'est étrange, je vais voir en changeant comme tu le proposes.

Reply

Marsh Posté le 03-04-2005 à 23:29:18    

la gestion des constructeurs d'archives n'est pas tjs très intuitive dans jbuilder (je sais de quoi je parle)
mais une fois que le coup est pris, c bon ;)

Reply

Marsh Posté le 04-04-2005 à 18:11:35    

J'ai changé mon arborescence et j'ai ça maintenant :  

Code :
  1. OthelloSigne.jar
  2.       |
  3.       |-- othello
  4.              |
  5.              |-- Launch.class
  6.              |-- Aide.class
  7.       |--Aide
  8.              |
  9.              |aide.html


 
Et pourtant, quand je clique dans le menu pour avoir mon aide, j'ai cette erreur

Code :
  1. erreur : java.io.FileNotFoundException: .\Aide\aide.html (Le chemin d'accès spécifié est introuvable)


 et le code de Aide.java :  

Code :
  1. //Mise en place de la zone de texte
  2.     texte = new JEditorPane();
  3.     texte.setEditable(false);
  4.     texte.setEnabled(true);
  5.     texte.setVisible(true);
  6.     try{
  7.       u = new URL("file:.\\Aide\\aide.html" );
  8.       texte.setPage(u);
  9.     }
  10.     catch(IOException ex){
  11.       System.out.println("erreur : " + ex);
  12.     }


 
Ce qui est etrange, c'est que je dois mettre  
u = new URL("file:.\\classes\\Aide\\aide.html" ); pour que ça fonctionne sous JBuilder et que ça ne marche pas sans JBuilder...
Des propositions ?


Message édité par Papy Brossard le 04-04-2005 à 18:18:03
Reply

Marsh Posté le 05-04-2005 à 19:26:10    

Papy Brossard a écrit :

J'ai changé mon arborescence et j'ai ça maintenant :  

Code :
  1. OthelloSigne.jar
  2.       |
  3.       |-- othello
  4.              |
  5.              |-- Launch.class
  6.              |-- Aide.class
  7.       |--Aide
  8.              |
  9.              |aide.html


 
Et pourtant, quand je clique dans le menu pour avoir mon aide, j'ai cette erreur

Code :
  1. erreur : java.io.FileNotFoundException: .\Aide\aide.html (Le chemin d'accès spécifié est introuvable)




 
lorsque tu exécutes ton .jar, hors de jbuilder, le chemin d'accès à aide.html à partir de othello.class est ..\Aide\Aide.html
 
sinon cela veut dire que othello.jar cherche le fichier Aide.html dans un sous-répertoire de son propre répertoire (\othello\Aide\Aide.html)
 
a+


Message édité par trevor le 05-04-2005 à 19:29:16

---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 05-04-2005 à 22:05:08    

Bah merci de la proposition mais ça ne marche pas.
Que les choses soient claires : le chemin que je donne dans une classe est relatif à quoi ? A la place dans le jar ? A la place de la classe utilisée ?  
J'y comprends plus rien !
Pour info, mon organisation du jar (encore...) :

Code :
  1. OthelloSigne.jar
  2.            |
  3.            |-- othello
  4.                   |
  5.                   |-- Launch.class (la classe principale, qui lance l'applet)
  6.                   |-- Aide.class (lance une frame qui doit afficher l'aide)
  7.            |--Aide
  8.                   |
  9.                   |aide.html (l'aide, au format html)


Message édité par Papy Brossard le 05-04-2005 à 22:09:02
Reply

Marsh Posté le 05-04-2005 à 23:48:03    

si tu veux savoir où tape le répertoire "local" à partir de ta classe Aide.class, tu mets ta lecture de aide.html en commentaire et tu mets à la place une simple écriture dans un flux sur fichier, regarde où le fichier a été enregistré, et voilà tu seras fixé !!
 
a+


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 06-04-2005 à 00:04:41    

je viens de relire... si c dans une applet, c mort, impossible d'écrire dans le fs local
 
je viens de checker un prog que j'ai fais récemment:
voila la desc:
 
classe serveur.java dans paquetage biblio
 
stucture du jar :

Code :
  1. biblio.jar
  2.    |
  3.    |-- biblio
  4.          |
  5.          |-- server.class


 
dans server.java j'ai :

Code :
  1. FileOutputStream fos = new FileOutputStream("persons.dat" );


 
et mon fichier persons.dat s'écrit au final dans le même répertoire où se situe mon biblio.jar
 
voilà, si ca peut t'aider...


Message édité par trevor le 06-04-2005 à 00:06:12

---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 06-04-2005 à 00:11:05    

Bah non ça ne m'a pas aidé... :) Mais merci.
Quand tu dis mort, ça signifie quoi ? (C'est quoi le fs local ?) Que c'est impossible ?


Message édité par Papy Brossard le 06-04-2005 à 00:12:15
Reply

Marsh Posté le 06-04-2005 à 00:11:05   

Reply

Marsh Posté le 06-04-2005 à 01:20:38    

oui une applet ne peut pas écrire sur le système de fichiers local (fs = FileSystem)
 
en théorie la lecture aussi, mais étant donné que ton fichier fait partie du jar... j'avoue que je ne sais pas
 
mon conseil, exécute ton applet comme une appli standard (colle lui un main(), et déplace le code de init() dedans)
et testes ainsi
lorsque tu auras résolu ts tes pbs hors-applet, et bien tu remets comme au début, et tu vois si ca continue de marcher ou pas...
 
a+


Message édité par trevor le 06-04-2005 à 01:21:10

---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 06-04-2005 à 07:25:57    

Ok, j'vais essayer. Merci.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed