Erro persistenceUnit

0 respostas
danilopelegrino

E ai galera blz??

Estou com um problema ao fazer uma chamada a um servlet no jboss.

segue erro:

HTTP Status 500 -

type Exception report

message

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

exception

javax.persistence.PersistenceException: [PersistenceUnit: CoreWeb] class or package not found
	org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:1089)
	org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:886)
	org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:772)
	org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:183)
	org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:240)
	org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
	dao.PersistenceUtil.init(PersistenceUtil.java:17)
	dao.PersistenceUtil.getEntityManager(PersistenceUtil.java:12)
	dao.CategoriaDAO.getAll(CategoriaDAO.java:18)
	servlet.BuscarCategoria.doPost(BuscarCategoria.java:45)
	servlet.BuscarCategoria.doGet(BuscarCategoria.java:36)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

java.lang.ClassNotFoundException: No ClassLoaders found for: WEB-INF.classes.modelo.Categoria
	org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
	org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:521)
	org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:415)
	java.lang.ClassLoader.loadClass(Unknown Source)
	java.lang.ClassLoader.loadClassInternal(Unknown Source)
	java.lang.Class.forName0(Native Method)
	java.lang.Class.forName(Unknown Source)
	org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:112)
	org.hibernate.ejb.Ejb3Configuration.classForName(Ejb3Configuration.java:1005)
	org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:1077)
	org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:886)
	org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:772)
	org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:183)
	org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:240)
	org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
	dao.PersistenceUtil.init(PersistenceUtil.java:17)
	dao.PersistenceUtil.getEntityManager(PersistenceUtil.java:12)
	dao.CategoriaDAO.getAll(CategoriaDAO.java:18)
	servlet.BuscarCategoria.doPost(BuscarCategoria.java:45)
	servlet.BuscarCategoria.doGet(BuscarCategoria.java:36)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the JBossWeb/2.0.1.GA logs.

Segue codigos:

servlet:

package servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import modelo.Categoria;

import dao.CategoriaDAO;

/**
 * Servlet implementation class BuscarCategoria
 */
public class BuscarCategoria extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public BuscarCategoria() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		List<Categoria> categorias = CategoriaDAO.getInstance().getAll();
		request.setAttribute("categorias", categorias);
		RequestDispatcher rd = request.getRequestDispatcher("/Categorias.jsp");
		rd.forward(request, response);
	}
}

persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
	xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
	http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">

	<persistence-unit name="CoreWeb" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<class>modelo.Categoria</class>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
			<property name="hibernate.connection.username" value="core" />
			<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
			<property name="hibernate.connection.password" value="core" />
			<property name="hibernate.connection.url" value="jdbc:mysql://192.168.1.100/core" />
		</properties>
	</persistence-unit>
</persistence>

as classes estão certinhas nos devidos packagens e tudo mais...

Uma vez ouvi de um professor que o perssitence.xml tem que ficar em outro lugar para poder enchergar as classes, isso confere?

Se sim qual o lugar que deve coloca-lo?

abraço a todos e obrigado desde ja..fuiiii

Criado 8 de dezembro de 2009
Respostas 0
Participantes 1