Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre confirmé
    Inscrit en
    septembre 2005
    Messages
    802
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 802
    Points : 202
    Points
    202

    Par défaut "resolves to a package" mais c'est une classe !

    Bonjour,

    Je travaille avec ElipseWtp, je me suis crée un projet web dynamique.
    Je l'ai testé avec une installation Tomcat et une page JSP toute simple (affichage de new Date().getHours()). Tout fonctionne.

    J'ajoute au classPath ou autre projet, je modifie ma JSP pour qu'elle utilise une classe de cet autre projet et j'obtient ceci :
    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP

    Erreur de servlet générée:
    Only a type can be imported. hopital.Hopital resolves to a package

    Une erreur s'est produite à la ligne: 13 dans le fichier jsp: /ListePatients.jsp
    Erreur de servlet générée:
    Hopital cannot be resolved to a type

    Une erreur s'est produite à la ligne: 13 dans le fichier jsp: /ListePatients.jsp
    Erreur de servlet générée:
    Hopital cannot be resolved to a type


    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


    cause mère

    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP

    Erreur de servlet générée:
    Only a type can be imported. hopital.Hopital resolves to a package

    Une erreur s'est produite à la ligne: 13 dans le fichier jsp: /ListePatients.jsp
    Erreur de servlet générée:
    Hopital cannot be resolved to a type

    Une erreur s'est produite à la ligne: 13 dans le fichier jsp: /ListePatients.jsp
    Erreur de servlet générée:
    Hopital cannot be resolved to a type


    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.20.
    Ma page JSP :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="hopital.Hopital"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
     
    <h1> Liste des patients </h1>
    <%
    	Hopital hop = new Hopital(5);
    %>
    </body>
    </html>
    Voilà.

    Je précise que le nom du package et de la classe de l'import son corrects et que le projet rajouté fonctionne trés bien tout seul. Et bien sur que hopital.Hopital est bien une classe et non un package.

    Si quelqu'un à une idée ?
    Merci

    Edit : Ha oui, j'utilise le JDK 1.6.0 et Tomcat 5.5.20. J'ai fait pointer Tomcat sur l'installation du JDK et non pas de la JRE.
    Edit : j'ai essayer aussi avec le JDK 5.0.9 et la jre 5.0.9 mais rien ne change

  2. #2
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 081
    Points
    15 081

    Par défaut

    Tomcat (enfin Jasper) remonte ce message obscur quand il ne trouve pas une classe. Parfois il met "ClassNotFoundException" ou parfois "machin is not a type", ou encore "machin resolves to a package". J'avoue que j'ai pas encore bien compris comment il choisit le message (random ?).

    Enfin bref, il trouve pas ta classe. Verifie que le .class est bien dans WEB-INF/classes ou que ton jar est dans WEB-INF/lib.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre confirmé
    Inscrit en
    septembre 2005
    Messages
    802
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 802
    Points : 202
    Points
    202

    Par défaut

    Il ferait mieux de me remonter ClassNotFound ...

    J'ai testé avec NetBeans et là, ça marche sans problèmes. Je pense que c'est la liaison entre différents projets avec WTP qui pose problème. Mais je ne sais pas pourquoi ni comment...

    Mon mahuer est que j'ai posé la même question dans la forum Eclipse mais que personne ne me répond... et que je DOIS utiliser Eclipse parce que c'est comme ça !

    Merci pseudocode pour ta réponse.

  4. #4
    Membre confirmé
    Inscrit en
    septembre 2005
    Messages
    802
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 802
    Points : 202
    Points
    202

    Par défaut

    Voilà, comme je le disais le problème venait de la liaison de différents projets dans Eclipse WTP. Il fallait juste trouver la bonne façon de le faire.

    Un petit coup de recherche dans l'aide d'eclipse et :
    Citation Envoyé par Help - Eclipse SDK
    Adding Web library projects
    Web library projects allow you to associate Java™ projects with "virtual" JAR files in a Web project's WEB-INF/lib directory. You can reference JAR files that exist elsewhere in the Enterprise Application project that contains your Web project, if they are in the Web project's build path, and avoid the need to explicitly copy these JAR files into the project's lib folder before you publish the Web application to a server.

    To set up these associations:

    Right click on a Web project and select Properties from the pop-up menu.
    Click on J2EE Module Dependencies
    Set up your associations in the J2EE Module Dependencies window
    Click OK when you are done.

  5. #5
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    octobre 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : octobre 2005
    Messages : 270
    Points : 122
    Points
    122

    Par défaut

    j'ai le même problème : "Only a type can be imported. bdd.dao.IndividuDAO resolves to a package" alors que bdd.dao est un package et que IndividuDAO est une classe....
    j'ai essayé l'astuce au-dessus (placer un .jar dans lib) mais toujours la même erreur...
    faut savoir que le package bdd.dao est situé dans le même projet que ma page JSP juste que mon package est dans src plutôt que dans WebContent....
    J'utilise Eclipse aussi
    [/HS]

    J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •