Problemas na tela de login e senha (VRaptor + Hibernate)

5 respostas
ArthurTurtle

Boa tarde a todos,

Bem eu estou com um problema aqui e espero que vocês consigam me ajudar:

Eu tava fazendo uns exemplos da Fj21 da Caelum, os exercicios de autenticação do VRaptor, ja fiz todas as classes tudo “certinho”, mais quando eu faço o deploy da aplicação e tento entrar no /login dele ele me lança:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'loginController': Unsatisfied dependency expressed through constructor argument with index 0 of type [br.com.steno.dao.UsuarioDAO]: : Error creating bean with name 'usuarioDAO': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [br.com.steno.dao.UsuarioDAO]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usuarioDAO': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [br.com.steno.dao.UsuarioDAO]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
	org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:730)
	org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
<--------------------------------------------------------------------------------------------------------------------------------------------------------------->

org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [br.com.steno.dao.UsuarioDAO]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
	org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141)
<--------------------------------------------------------------------------------------------------------------------------------------------------------------->

java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
	br.com.steno.dao.UsuarioDAO.<init>(UsuarioDAO.java:17)
<--------------------------------------------------------------------------------------------------------------------------------------------------------------->

Ja busquei na net inteiraaaa e não achei nada que me ajudase, alguem tem alguma ideia de oque esta acontecendo?

5 Respostas

well

posta sua classe usuario… vc esta usando as anotacoes @Component e @Resource do Vraptor???

ArthurTurtle
fala well, então eu estou usando sim, abaixo segue minhas classes: UsuarioDAO:
@Component
@SessionScoped
public class UsuarioDAO {
		private Session session;
		public UsuarioDAO() {
			this.session = new HibernateUtil().openSession();
		}
		public Usuario buscaUsuarioPorLoginESenha(Usuario usuario) {
			Query query = this.session.
			createQuery("Select from Usuario where login = :pLogin and senha = :pSenha");
			query.setParameter("pLogin", usuario.getLogin());
			query.setParameter("pSenha", usuario.getSenha());
			return (Usuario) query.uniqueResult();
		}

}
Usuario [/code]
@Entity
public class Usuario {
	@Id 
	@GeneratedValue
	private Long id;
	private String nome;
	private String login;
	private String senha;
package br.com.caelum.vraptor.controller;

import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.steno.component.UsuarioLogado;
import br.com.steno.dao.UsuarioDAO;
import br.com.steno.modelo.Usuario;


@Resource
public class LoginController {
	private final UsuarioDAO usuarioDao;
	private final UsuarioLogado usuarioLogado;
	private final Result result;
	
 	public LoginController(UsuarioDAO usuarioDao, UsuarioLogado usuarioLogado, Result result){
 		this.usuarioDao = usuarioDao;
 		this.usuarioLogado = usuarioLogado;
 		this.result = result;
 	 
 		}
		public void autentica(Usuario usuario) {
			Usuario autenticado = usuarioDao.buscaUsuarioPorLoginESenha(usuario);
			if(autenticado != null) {
				usuarioLogado.efetuaLogin(autenticado);
				result.redirectTo(MenuController.class).inicial();
				return;
			}
				result.redirectTo(LoginController.class).login();
			}
		@Path("/")
		public void login(){
			
		}
}
lcegatti
java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration

Esta faltando a lib do Hibernate (e talvez suas dependências) no seu classpath.

ArthurTurtle

Iae lcegatti,

Então cara eu ja coloquei todos os jars do hibernate deuas vezes fiz isso(so pra garantir) e naa cara, eu ate fui e dei uma olhada no link da Caelum sobre o Hibernate, e nada, continua jogando o mesmo erro, não sei se isso tem a ver, mais eu mude o nome de uns pacotes na minha aplicação, quando ele fala :

org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [br.com.steno.dao.UsuarioDAO]

sera que ele não mudou certo o nome e acabou não instanciando a classe?

Lucas_Cavalcanti

qual é o resto da exception ? principalmente o último Caused by

Criado 19 de maio de 2011
Ultima resposta 20 de mai. de 2011
Respostas 5
Participantes 4