JSP [Tomcat + Eclipse + Sysdeo] pb de visibilité des .class

JSP [Tomcat + Eclipse + Sysdeo] pb de visibilité des .class - Java - Programmation

Marsh Posté le 19-02-2004 à 15:31:38    

Bonjour, j'utilise Tomcat v5, Eclipse 2.1.2 et le dernier plugin de Sysdeo.
 
Lorsque les .java du répertoire work\(package) sont compilées, les .class se créent normalement dans WEB-INF\classes\(package).
 
Mais à l'exécution de l'applet, j'ai un NoClassDefFoundError si le .class de l'applet n'est pas dans le répertoire racine du .jsp, et impossible d'accéder aux autres .class même copiés à la main à la racine...
 
Tous les .java contiennent bien l'instruction package (package); mais peu importe ce que je mets dans le codebase du jsp, il ne trouve jamais les autres .class !!!
 
Please help ;-) Je deviens dingo !!
 
NB: rien dans les logs de Tomcat, juste une sortie console Java de NoClassDefFoundError

Reply

Marsh Posté le 19-02-2004 à 15:31:38   

Reply

Marsh Posté le 19-02-2004 à 16:08:40    

j'ai rien compris.
 
en plus tu parles d'applet ??!!??


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 19-02-2004 à 16:42:36    

benou a écrit :

j'ai rien compris.
 
en plus tu parles d'applet ??!!??


 
Okay, je m'explique ;-)
 
Nous développons une application 3-tiers avec une applet (AppletMessage) s'exécutant côté client et qui doit envoyer grâce à une classe Transmission, les données à une servlet hébergée sur un serveur Apache Tomcat 5.
 
Les fichiers .java (tous), sont placés dans un répertoire work\(package). A la compilation, les .class sont automatiquement générés dans WEB-INF\classes\(package) mais on s'apperçoit que le JSP n'arrive pas à y accéder... (NoClassDefFoundError).
 
Je vais essayer de schématiser l'arborescence :
 
Projet
|
|- work
|    |-(package)
|    |      |- *.java
|    |-org.apache.jsp
|
|-WEB-INF
|    |-classes
|    |    |- *.class
|    |-lib
|    |-src
|    |-web.xml (mapping du servlet)
|
|-index.jsp
|-error.jsp
 
Donc normalement, y a qu'à mettre dans le jsp:plugin code="NomApplet.class" codebase="<chemin>", et c'est là que ça coince, peu importe le contenu de chemin, j'ai un NoClassDefFoundError.
D'après ce que j'ai vu sur le net, le chemin est correct. Donc quid, et je ne vois pas d'où ça vient.
 
NB: j'ai rajouté le DevClassLoader sur le projet mais ça ne change rien :'(
 
SOS !!!!!

Reply

Marsh Posté le 19-02-2004 à 17:08:08    

Il me semble que le répertoire WEB-INF est inaccessible depuis un navigateur (protection contre le piratage oblige...).
Tes .class de ton applet doivent se situer dans un répertoire accessible via le navigateur pour qu'il puisse les télécharger.

Reply

Marsh Posté le 19-02-2004 à 17:11:34    

En effet le WEB-INF n'est pas accessible, mais comme c'est le chemin conseillé par le plugin, je me disais qu'il y avait un mapping interne sur le serveur pour éviter qu'on puisse y accéder par l'URL mais qu'une JSP ou une applet le pouvait.
 
Je vais essayer de changer ça, mais pour l'avoir tenté, je sais que ça génère des erreurs. Je vous tiens au courant et merci VinceG ! ;-)

Reply

Marsh Posté le 19-02-2004 à 17:11:40    

C'est surtout que une applet c'est sous la forme d'un jar, et là j'ai pas l'impression que tu en utilises (ou en tout cas tu le cache bien).
 
Autre chose : c'est plutot dangereux de mettre des sources java dans un sous-répertoire de ton web : ils sont accessible sur internet :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 19-02-2004 à 21:25:33    

benou a écrit :

C'est surtout que une applet c'est sous la forme d'un jar, et là j'ai pas l'impression que tu en utilises (ou en tout cas tu le cache bien).
 
Autre chose : c'est plutot dangereux de mettre des sources java dans un sous-répertoire de ton web : ils sont accessible sur internet :/


 
Pas si les sources sont sous WEB-INF.
 
Mais bon c'est vrai que lorsque je livre une appli, j'évite de mettre les sources dans le WAR...

Reply

Marsh Posté le 20-02-2004 à 02:05:34    

VinceG a écrit :


Pas si les sources sont sous WEB-INF.


ben là c'est pas le cas ...

Reply

Marsh Posté le 20-02-2004 à 09:13:40    

benou a écrit :


ben là c'est pas le cas ...


 
Ha exact, je croyais que ses sources étaient sous "WEB-INF/src", mais visiblement ils sont recopiés sous "work"... Bizard... Mais je suppose que son répertoire "work" défini à cet endroit n'est là que pour sa phase de dev, sinon il faudrait le déplacer...


Message édité par VinceG le 20-02-2004 à 14:40:50
Reply

Sujets relatifs:

Leave a Replay

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