ClassNotFoundException: org.hibernate.Session

9 respostas
G

Ola boa tarde, estou com um sistemas em J2EE struts e hibernate, o problema é o seguinte:
em um mesmo projeto ao acessar a base através do hibernate caso eu rode uma Rotina Man o java roda direito e manipula os dados corretamente

public static void main(String[] args) {
		Session  session = new HibernateUtil().getSession();
		PratoDao prtDao = new PratoDao(session);
		List<Prato> lstPrato = prtDao.carregaLista();
		for (Prato prato : lstPrato) {
			System.out.println (prato.getDescricao());
		}
		
	}

Porém no mesmo projeto quando quero acessar um codigo semelhante mas agora através da Action da um erro :

ClassNotFoundException: org.hibernate.Session

Sgue o codigo da action abaixo:

public class ListaPratosAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
				// TODO Auto-generated method stub
				System.out.print("passou1 ");
				Session  session = new HibernateUtil().getSession();
				System.out.print("passou2 ");
				
				PratoDao prtDao = new PratoDao(session);
				List<Prato> lstPrato = prtDao.carregaLista();  
		return mapping.findForward("lstPrato");
	}
}

Desde de ja agradeço a atenção.

9 Respostas

romarcio

Esse erro:ClassNotFoundException: org.hibernate.Session significa que a classe não existe e você deve adicionar a biblioteca no classpath da aplicação.

G

Olá bom dia!
Isto já foi feito, esta no email que na mesma aplicação quando


Ola boa tarde, estou com um sistemas em J2EE struts e hibernate, o problema é o seguinte:
em um mesmo projeto ao acessar a base através do hibernate caso eu rode uma Rotina Man o java roda direito e manipula os dados corretamente

Só não acessa a session quando a rotina é chamada por uma action.

Que eu saiba é apenas um ClassPath por projeto. Correto?
O problema ainda persiste.

romarcio

Você está rodando direto pela IDE ou colocou a aplicação em no servidor?

G

Então tem um servidor apache na minha maquina mesmo tipo WTP dentro do eclipse.
Obrigado pela atenção.

romarcio

Então você está rodando a aplicação pelo Eclipse? É isso?

G

Sim pelo WTP dp eclipse.

romarcio

Dentro do diretório webcontent/web-inf/lib devem estão as bibliotecas do hibernate?

G

Bom então ja estavam os jar’s da pasta lib do hibernate-3.2, hibernate-annotations-3.2.0.GA dentro do Lib do webContent coloquei tambem as pastas interiras compactadas e descompactadas. Depois que me respondeu coloquei ainda “Session.Class” mas nada disso resolveu. Os jars ja estão no Libries fiz o BuldPath. E nada disso resolveu. Como funciona este mecanismo no J2EE onde ele busca esses arquivos? Porque quando eu chamo sem usar o servidro web pela void Main funciona e porque quando é usado pela Action do struts nao?

romarcio

Ele busca em 2 locais, ou na pasta lib da aplicação ou na pasta lib do servidor.
O que pode acontecer as vezes é ter a mesma biblioteca nas duas pastas e dai acaba dando conflito e é lançada a mensagem de que tal classe não foi encontrada.

Criado 5 de dezembro de 2011
Ultima resposta 6 de dez. de 2011
Respostas 9
Participantes 2