[RESOLVIDO] Erro no struct2 com hibernate

Galera,
Continuando o meu processo de aprendizado do Java novamente agarrei.
Estou tentando usar JSP+Struct2+Hibernate+MySql e ao inserir no banco está dando erro.

Tive a curiosidade de montar separadamente a parte do struct2 sem o hibernate e funcionou e montar a parte do hibernate sem o struct2 e também funciona, já naum sei o que fazer!!!

Por favor me ajudem!

O erro!

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

exception

javax.servlet.ServletException: Filter execution threw an exception

root cause

java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
	org.hibernate.util.SimpleMRUCache.init(SimpleMRUCache.java:71)
	org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:55)
	org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:50)
	org.hibernate.engine.query.QueryPlanCache.<init>(QueryPlanCache.java:69)
	org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:189)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
	org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
	romulor2.adorandocommusica.dao.ConnectionUtil.<init>(ConnectionUtil.java:21)
	romulor2.adorandocommusica.action.UsuarioSalvar.<init>(UsuarioSalvar.java:17)
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	java.lang.reflect.Constructor.newInstance(Unknown Source)
	java.lang.Class.newInstance0(Unknown Source)
	java.lang.Class.newInstance(Unknown Source)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:130)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:161)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150)
	com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:120)
	com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:299)
	com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:399)
	com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:198)
	org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
	org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
	com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
	org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

minha action

private romulor2.bel.Usuario usuario;
	private romulor2.dao.ConnectionUtil conn;
	
	public UsuarioSalvar()
	{
		conn = new romulor2.dao.ConnectionUtil();
	}
	
	@Action(value="UsuarioSalvar",results = {@Result(name=SUCCESS, location="/ok.jsp")})		
	public String execute() 
	{
		usuario.setLoginUsuario("teste3");
		usuario.setEmailUsuario("teste2@hotmail.com");
		
		romulor2.dao.Cidade ciddao = new romulor2.dao.Cidade();  
		conn.iniciaTransacao();
		List<romulor2.bel.Cidade> cid = ciddao.consultar(conn.getSessao(), conn.getTransacao(), 3);
		if (cid.size() > 0)
			usuario.setCidade((romulor2.bel.Cidade) cid.get(0));
		else
			System.out.println("cidade errada mane");
		
		romulor2.dao.Usuario usuDao = new romulor2.dao.Usuario();
		usuDao.salvar(conn.getSessao(), conn.getTransacao(), usuario);
		conn.commitTransacao();			
		
		new romulor2.dao.Usuario().salvar(conn.getSessao(), conn.getTransacao(), usuario);
		
		return SUCCESS;
	}

Amigo, o erro

indica que falta a biblioteca apache commons beanutils. Coloque no classpath do seu projeto e esse erro não mais ocorrerá.

Rapaz valeu,
Na verdade o problema estava na falta do “commons-collections-3.1.jar”.

Muito obrigado pela Ajuda

Iiiisso… pensei uma coisa e escrevi outra, mas que bom que funcionou :wink: