IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Problème de chemin pour la compilation de JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut Problème de chemin pour la compilation de JSP
    Bonjour,

    J'ai un site classique avec des JSP, et j'ai dans le répertoire "WEB-INF/JavaSource" des packages que j'ai créés. Avant de lancer le serveur Tomcat à partir d'eclipse, je compile tous les packages de ce répertoire et les binaires vont dans le répertoire "WEB-INF/classes".

    Quand je tente d'accéder à la première page "index.jsp", j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    org.apache.jasper.JasperException: Unable to compile class for JSP
     
    An error occurred at line: 4 in the jsp file: /index.jsp
     
    Generated servlet error:
        [javac] Compiling 1 source file
    (chemin vers l'application)\work\org\apache\jsp\index_jsp.java:77: package site does not exist
          site.AccessRight accR = null;
              ^
    J'ai déjà essayé de mettre le chemin vers "WEB-INF/classes" dans le CLASSPATH pour essayer si ça marchait, mais ça ne marche pas quand même. Comment est-ce que je pourrais spécifier à tomcat d'aller voir dans le répertoire "WEB-INF/classes" lors de la compilation des pages jsp ?

    Environnement :
    - eclipse 3.2.2 (+ tomcat plugin de Sysdeo 3.1)
    - JDK 1.4
    - jakarta-tomcat-4.1.10

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Ton erreur n'est pas une erreur de classpath. Enfin ca depend.

    Ta classe AccessRight est elle dans le package site??
    OU se trouve ta classe AccessRight dans ton dossier WEB-INF?? (donne moi l'arbo complete)
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    WEB-INF
    |   .classpath
    |   .cvsignore
    |   .project
    |   struts-bean.tld
    |   struts-config.xml
    |   struts-html.tld
    |   struts-logic.tld
    |   struts-nested.tld
    |   struts-template.tld
    |   struts-tiles.tld
    |   tiles-defs.xml
    |   validation.xml
    |   validator-rules.xml
    |   web.xml
    |   
    +---classes
    |   \---site
    |           AccessRight.class
    |           AffichageRec.class
    |           AuthentificUser.class
    |           RdEntry.class
    |           Tools.class
    |           Utilisateur.class
    |           
    +---JavaSource
    |   \---site
    |           AccessRight.java
    |           AffichageRec.java
    |           AuthentificUser.java
    |           AuthentificUser.java.101306.rb042c
    |           AuthentificUser.java.14012005
    |           RdEntry.java
    |           Tools.java
    |           Utilisateur.java
    |           Utilisateur.java.101306.rb042c
    |           Utilisateur.java.14012005
    |           
    +---lib
    |       [...]
    J'ai plus de packages que ça dans le répertoire "WEB-INF/JavaSource" (et donc dans le répertoire "WEB-INF/classes"), mais je pense que le problème ne se joue pas sur le nombre de packages.

    J'ai testé en copiant le répertoire entier de l'application dans le répertoire webapps de tomcat et en lançant tomcat à partir d'une console ($TOMCAT_HOME/bin/startup.bat) et tout marche correctement.

    Il semble que le problème vienne d'eclipse, quand il lance le serveur tomcat à travers le plugin "tomcat plugin" de Sysdeo (dont le site est actuellement down, d'ailleurs). Il n'arrive pas à faire comprendre à tomcat que lors d'une traduction "jsp --> servlet --> .class", il faut voir aussi le répertoire WEB-INF/classes.

    En fait, je reprends un site qui a un bug, et j'ai besoin de l'environnement d'eclipse pour pouvoir le debugguer (utiliser des breakpoints et consulter l'évolution de certaines variables lors de l'exécution de la servlet issue de la JSP).

  4. #4
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Ok j'ai piger.

    Tu as défini ton projet comme projet tomcat? Tu lui a defini un contexte?

    Car ce que fait eclipse normalement c'est modifier le server.xml pour lui dire et oh petit serveur quand tu demarres j'ai un projet qui faudrait que tu charges qui est chez moi.

    En gros que ton projet soit dans eclipse ou dans webapps ca doit revenir au meme poru tomcat. Mais pas pour toi, car comme tu l'as si bien dit tu vas pouvoir debugger!!
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut
    Oui, le projet a bien été créé sous eclipse en tant que Projet Tomcat.

    J'ai spécifié dans les Préférences --> Tomcat de créer un fichier par contexte et non de mettre tous les contextes dans le fichier server.xml.

    Ces contextes sont dans C:\dev\jakarta-tomcat-4.1.10\webapps

    Voici le contenu du fichier contexte "monappli.xml" pour mon appli :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Context path="/monappli" reloadable="true" docBase="(chemin vers mes documents)\workspace\monappli" workDir="(chemin vers mes documents)\workspace\monappli\work\org\apache\jsp" />
    Je précise au passage que le chemin vers mes documents est sans espace, ni caractère "exotique" (pas de point, etc.).

    Ca marchait quand je travaillais avec Tomcat 5.5 + Eclipse, mais j'ai un problème qui est lié typiquement à une incompatibilité entre le JDK 1.4 et le JDK 5.0.

    C'est pour ça que je dois remonter tout un environnement préhistorique pour pouvoir debugguer... -_-;

  6. #6
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Tu avais tomcat 5.5 avec le jDK 5.0 et tu dois repasser au jdk 1.4 avec tomcat 4??

    C'est pas un peu dur ca, tomcat 5.0 et meme 5.5 doit marcher avec le 1.4.


    Pourquoi tu compiles toi meme les class?? Eclipse le fait tout seul, non?

    Perso je vois rien d'incorrect dans ta config. Je ne comprend pas d'ou viens le pb. Car etant donnée que les classes sont dans WEB-INF/Classes il va chercher la en premier.
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut
    En fait, l'appli tourne en JDK 1.4 + Tomcat 4.1 sur un serveur. J'ai repris ce site, mais je m'étais mis l'environnement JDK 5.0 (J2SE 6.0) + Tomcat 5.5. J'ai debuggue des trucs, mais on s'est rendu compte qu'il y avait des choses qui ne marchaient pas correctement sur le serveur (alors que sur mon pc, tout marche).

    Pour te répondre, Tomcat 5.0 ne marche pas en Java 1.4 à mon avis, car apache-tomcat-4.1.34 ne marche pas non plus en Java 1.4.

    La réponse pourquoi je compile mes classes, c'est parce qu'eclipse ne les compile pas lui-même. Il les compile dans le cadre d'une application Java classique, car il sait quand l'application a besoin de telle ou telle classe. Ici, il y a la classe org.apache.jasper.servlet.JspServlet qui traduit le fichier JSP en Servlet (.java donc), et après il y a la compilation. eclipse ne semble pas comprendre les besoins de Jasper lors de la compilation des pages JSP.

    Je vais contourner le problème, en debuggant sans l'environnement d'eclipse, car ça fait 2 jours que je suis dessus, et mon chef s'impatiente

    Je te remercie sincèrement pour ton implication maxf1.

  8. #8
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    BIzarre ce que tu me dit la, JDK1.4 pas compatible avec tomcat 5.0. Car c'est exactement ce que j'utilise (enfin 1.4.2).

    Tomcat 4 je pense qu'il se fait ancetre, lol! Bon et bien si tu arrives debugguer sans eclipse c'est bien pour toi, mais je pense que tu vas mettre tu temps sauf s'il n'y a qu'un seul bug dans ce cas ce peut-etre rapide, mais si t'en a une dixaine,
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

Discussions similaires

  1. Chemin pour la compilation
    Par simdax dans le forum Débuter
    Réponses: 2
    Dernier message: 05/08/2010, 12h43
  2. [D2010] Problème de chemin pour un fichier DCP
    Par sovitec dans le forum EDI
    Réponses: 0
    Dernier message: 01/06/2010, 12h24
  3. Problème de chemin pour input en chaine.
    Par dedekind93 dans le forum Mise en forme
    Réponses: 4
    Dernier message: 19/04/2010, 10h15
  4. Problème de chemin pour une pièce jointe
    Par ludo.guy dans le forum Développement Web en Java
    Réponses: 5
    Dernier message: 22/04/2009, 20h10
  5. Problème de link pour une compilation 64 bits
    Par vjbda dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 17/09/2008, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo