Falha ao compilar JSP tomcat 7 [Resolvido]

Ola pessoal,
estou com um erro ao tentar rodar um jsp simples,

[code]
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 1 in the generated java file
The type javax.persistence.EntityManager cannot be resolved. It is indirectly referenced from required .class files

An error occurred at line: 18 in the generated java file
Only a type can be imported. javax.persistence.EntityManager resolves to a package

An error occurred at line: 20 in the jsp file: /contatoListar.jsp
EntityManager cannot be resolved to a type
17:



18:

Listagem de Contatos


19: <%
20: EntityManager em = EMLocal.getEntityManager();
21: em.getTransaction().begin();
22:
23: FilmeDao dao = DaoFactory.getFilmeDao();

An error occurred at line: 20 in the jsp file: /contatoListar.jsp
The method getEntityManager() from the type EMLocal refers to the missing type EntityManager
17:



18:

Listagem de Contatos


19: <%
20: EntityManager em = EMLocal.getEntityManager();
21: em.getTransaction().begin();
22:
23: FilmeDao dao = DaoFactory.getFilmeDao();

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)[/code]
Eu adicionei as libs do hibernate dentro de uma pasta lib que criei na raiz do projeto.

Só um detalhe: um JSP que usa EntityManager está longe de ser “simples” pra mim :wink:

Voltando ao seu problema: a classe não encontrada foi a EntityManager, ela é da própria especificação Java e não do Hibernate. Olha pelo pacote:

javax.persistence.EntityManager

O Tomcat 7 não tem suporte para EJBs, então ele não vem com os jars necessários. Ele não foi feito para rodar EJBs. Você ou vai usar alguma outra ferramenta de suporte (tipo o OpenEJB) ou mudar para um servidor de aplicações (tipo Glassfish, JBoss, etc).

Certo Alys, elas estavam todas no meu path. Consegui encontrar o problema.
Fiz o seguinte, eu estava adicionando os jars dentro de um folder lib que eu criei no projeto, dai alterei os path dessa lib para a WebContente > WEB-INF > lib, compilou e executou normalmente.
Agora não sei o porque, pois quando olhei no deploy do tomcat estavam todos os jars dentro de webapps > minhaAplicacao > meuJars.jar, apos a alteraçao as libs foram para a lib do WebContent.

Mas ainda não entendi o pq ele rodou na WebContente > WEB-INF > lib e não na outra.