JSP avec Tomcat4, ça merde, je vois pas ce qu'y se passe !

JSP avec Tomcat4, ça merde, je vois pas ce qu'y se passe ! - Java - Programmation

Marsh Posté le 28-10-2002 à 15:24:44    

Pfff, j'en ai marre.
En fait, je restais avec une vieille version de mes JSP, alors j'ai supprimé le contenu du répertoire work\standalone\localhost\maweb-app
de TomCat4.
Depuis que j'ai fait ça, mes JSP merdent complètement.
Apparement, Jasper ne reconnait plus les classes de ma web-app.
Quand j'essayr d'exécuter une JSP, j'ai le message suivant :

org.apache.jasper.JasperException: Unable to compile class for JSP
C:\Tomcat4\webapps\ldsweb2\WEB-INF\classes\com\damaris\ldsweb\JLDSVisitor.java:1: The source file encoding may be different with this platform encoding. Please use -encoding option to adjust file encoding, or apply native2ascii utility to make source file ASCII encoding.


 
 
Alors que ma classe JLDSVisitor marchait très bien avant que je vide ce maudit répertoire work...
 
...Une idée ?


Message édité par El_gringo le 28-10-2002 à 15:44:25
Reply

Marsh Posté le 28-10-2002 à 15:24:44   

Reply

Marsh Posté le 28-10-2002 à 15:31:11    

[:cupra]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 28-10-2002 à 15:49:04    

En fait plus aucun classe de ma web-app n'est reconnue par les JSP, quand je la recommpile.
Tomcat4 me balance (entre autres) l'erreur suivante :

error: File C:\Tomcat4\webapps\ldsweb2\WEB-INF\classes\com\damaris\ldsweb\JLDSVisitor.java does not contain type com.damaris.ldsweb.JLDSVisitor as expected. Please adjust the class path so that the file does not appear in the package com\damaris\ldsweb.


Alors que ce fichier JLDSVisotir.java contient bel et bien une description valide de la classe JLDSVisitor  :fou:

Reply

Marsh Posté le 28-10-2002 à 15:58:27    

Balance ton fichier web.xml et ta structure de répertoire, pour voir...

Reply

Marsh Posté le 28-10-2002 à 16:18:32    

En fait, quand je récupère les classes que j'avais hier (que j'avais gardées dans un .war), et que je le déplois sur tomcat, c'est ok, ça marche.
Et si je récupère les sources modifiées aujourd'huis de ces même classes, ça me met ces messages de merde.
J'ai pourtant rien fait d'extraordinaire.
 
_Mac_, si tu crois que ça peut t'aider :
mon web.xml :

<!DOCTYPE web-app  
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
    "http://java.sun.com/dtd/web-app_2_3.dtd">
 
<web-app>
 
    <display-name>JLdsWeb consultation de documents</display-name>
    <description>
      Version Beta de JLdsWeb
    </description>
 
    <context-param>
      <param-name>Auteur</param-name>
      <param-value>m.claustre@damaris.fr</param-value>
      <description>
      </description>
    </context-param>
 
    <listener>
      <listener-class>com.damaris.ldsweb.JLDSContextListener</listener-class>
    </listener>
 
    <servlet>
      <servlet-name>JLdsWeb</servlet-name>
      <servlet-class>com.damaris.ldsweb.JLdsWeb</servlet-class>
      <!-- Load this servlet at server startup time -->
      <load-on-startup>5</load-on-startup>
    </servlet>
 
    <session-config><session-timeout>30</session-timeout>
    <!-- 30 minutes -->
    </session-config>
 
</web-app>


 
Heu, ma structure de répertoire je sais pas trop ou la foutre...
Mais disons que je suis SUR que JLDSVisitor.java est bien dans le répertoire WEB-INF\classes\com\damaris\ldsweb\ de ma web-app.

Reply

Marsh Posté le 28-10-2002 à 17:13:33    

Bon là je bloque vraiement.
Au risque de me répèter, voici un bilan de ma situation actuelle :
 
Cas ou mes JSP fonctionnent :

Je récupère des .class contenus dans un war. Je le déplois sur Tomcat. C'est ok.


Si à partir des sources d'aujourd'hui (dont la plupart n'ont pas changés), je re-compile mes classes, la compilation se fait sans pb, mais mes JSP ne semblent plus trouver mes classes (pourtant un .class est bien généré, évidement !).
 
Au cas ou ça puisse aiguille qqn, voila qqs exemples de messages d'erreur que Tomcat4 ma balance :

org.apache.jasper.JasperException: Unable to compile class for JSP
C:\Tomcat4\webapps\ldsweb2\WEB-INF\classes\com\damaris\ldsweb\JLDSVisitor.java:1: The source file encoding may be different with this platform encoding. Please use -encoding option to adjust file encoding, or apply native2ascii utility to make source file ASCII encoding.


 
Tout de suite après suit :

error: File C:\Tomcat4\webapps\ldsweb2\WEB-INF\classes\com\damaris\ldsweb\JLDSVisitor.java does not contain type com.damaris.ldsweb.JLDSVisitor as expected. Please adjust the class path so that the file does not appear in the package com\damaris\ldsweb.


 
Et enfin, après apparaissent les erreures signalant que j'utilise ds les scriptlets de ma JSP, des noms de classes invalides (forcément, vu qu'il ne les as pas trouvés !)
 
Je suis en train de pèter le plombs... :gun:  :gun:  :fou:  
 
Si qqn croit pouvoir qqch pr moi, faut essayer...

Reply

Marsh Posté le 28-10-2002 à 17:55:44    

Question (con) : que se passe-t-il si tu ne laisses que les .class dans /WEB-INF/classes/com/... ?

Reply

Marsh Posté le 28-10-2002 à 18:03:12    

_Mac_ a écrit a écrit :

Question (con) : que se passe-t-il si tu ne laisses que les .class dans /WEB-INF/classes/com/... ?




 
...et que j'vire les .java ?

Reply

Marsh Posté le 28-10-2002 à 18:04:11    

je pense que tu as mal déclarer un package d'une de tes classes ou jsp

Reply

Marsh Posté le 28-10-2002 à 18:04:31    

El_Gringo a écrit a écrit :

 
...et que j'vire les .java ?




ils ne devraient pas y être ;)

Reply

Marsh Posté le 28-10-2002 à 18:04:31   

Reply

Marsh Posté le 28-10-2002 à 18:04:49    

benou a écrit a écrit :

je pense que tu as mal déclarer un package d'une de tes classes ou jsp




je veux dire une déclaration de package, pas un import
 
vérifie que dans ta classe JLDSVisitor.java, le package est bien com.damaris.ldsweb


Message édité par benou le 28-10-2002 à 18:06:40
Reply

Marsh Posté le 28-10-2002 à 18:06:42    

Bah... ça à l'air d'être ça.
En fait, pour une question pratique, j'ai mes .java et mes .class dans le même répertoire.
Si je vire JLDSVisitor.java de mon répertoire classes/com/damaris/ldsweb, ça marche.
C vraiment space. Avant ça le gènait pas !
 
(merci pour cette avancée ds la résolution de mon pb Mac)

Reply

Marsh Posté le 28-10-2002 à 18:07:12    

vérifie ce que je t'ai dit ...

Reply

Marsh Posté le 28-10-2002 à 18:08:14    

benou a écrit a écrit :

 
ils ne devraient pas y être ;)




 
ha bon !?
ms ça simplifie vachement les choses (au moment du déployement réél, je les vire hein. c juste qd je développe que c comme ça !)

Reply

Marsh Posté le 28-10-2002 à 18:08:45    

benou a écrit a écrit :

je pense que tu as mal déclarer un package d'une de tes classes ou jsp




 
...Les jsp, on peut les mettre ds des packages ?

Reply

Marsh Posté le 28-10-2002 à 18:10:20    

benou a écrit a écrit :

vérifie ce que je t'ai dit ...




 
Non non, le package de JLDSVisitor est Ok. J'ai rien changé aux sources de JLDSVisitor depuis que ça merde...
De toute façon, je m'ferai jetter à la compile si le package correspondait pas au répertoires de la source, non !?

Reply

Marsh Posté le 28-10-2002 à 18:11:39    

El_Gringo a écrit a écrit :

 
De toute façon, je m'ferai jetter à la compile si le package correspondait pas au répertoires de la source, non !?




ben c'est ce qui se passe : tomcat recompile tes classes automatiquement j'ai l'impression ...

Reply

Marsh Posté le 28-10-2002 à 18:12:52    

El_Gringo a écrit a écrit :

 
...Les jsp, on peut les mettre ds des packages ?




 
après vérification, on dirait que non ... bizarre ...

Reply

Marsh Posté le 28-10-2002 à 18:15:09    

benou a écrit a écrit :

 
ben c'est ce qui se passe : tomcat recompile tes classes automatiquement j'ai l'impression ...




 
Ouais, j'avais pas fait gaffe, mais normalement, il a pas à me parler du .java lui. Il ne devrais toucher qu'au .class
apparement, le fait que je mettre mes .class ds le même rep que mes sources, ça le dérange... étonnant. ça fait 2 mois que j'fais ça, ça s'est toujours bien passé !  :sweat:

Reply

Marsh Posté le 28-10-2002 à 18:46:01    

T'aurais pas un problème de date lié, par exemple, au changement d'heure ? Peut-être que le compilo s'emmêle les pinceaux en essayant de déterminer quel fichier est le plus récent du .class ou du .java
 
Juste une idee en l'air....


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 29-10-2002 à 09:08:32    

R3g a écrit a écrit :

T'aurais pas un problème de date lié, par exemple, au changement d'heure ? Peut-être que le compilo s'emmêle les pinceaux en essayant de déterminer quel fichier est le plus récent du .class ou du .java
 
Juste une idee en l'air....




 
Hééé, tu sais qu'elle est vraiment pas conne ton idée ?
à mon avis ça vient de ça : Pour l'instant, j'utilise intelliJ, avec une licence d'essaie, qui prenait fin il y a qqs jours. Du coup, en attendant qu'on reçoive la version commerciale, j'ai bidouillé en remontant la date de mon pc. Du coup, quand j'ai compilé, le fichier compilé devait apparaitre moins récent que le source.
Enfin, maintenant, le pb ne se pose plus, dans mon projet, j'ai séparé les sources des .class, mais, bravo, bien réfléchi R3G. Tu m'apporte une exlpiquation logique, j'aime bien ça ! :D
Et merci à tous ceux qui ont essayé de m'aider...

Reply

Marsh Posté le 29-10-2002 à 09:27:24    

Du coup je met à nouveau mes sources avec mes .class (je trouve pas génial de mettre à 2 endroits différents les sources de mes JSP (forcément ds ma web-app) et les sources de mes classes Java.
Du coup je met tout ds ma web-app. Et, effectivement, en remettant à la bonne date mon PC, c'est OK. T un as sur ce coup là R3g ! :hello:

Reply

Marsh Posté le 29-10-2002 à 11:38:04    

Pas de mérite, j'ai déja eu le même problème quand j'ai piqué la pile du PC du boulot pour remplacer la mienne ;)


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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