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

Tomcat et TomEE Java Discussion :

"resolves to a package" mais c'est une classe !


Sujet :

Tomcat et TomEE Java

  1. #1
    Invité
    Invité(e)
    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 : 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
    <%@ 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
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 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
    Invité
    Invité(e)
    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
    Invité
    Invité(e)
    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
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    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.

Discussions similaires

  1. Package present mais methode non reconnu !!
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 13/12/2005, 10h19

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