Erro usando result.use(Results.logic()).... Vraptor3 [Resolvido]

6 respostas
O

Boa noite pessoal,
Estou fazendo um projeto simples, seguindo os passos conforme a apostila fj-21 da caelum.

Comecei um novo projeto, importei o vraptor-blank-project3.1.2, ele está funcionando quase “redondo” sendo que ao usar qualquer result.use(Results.logic())..... me da um erro

Meu controller

package br.com.caelum.vraptor.blank;

import java.util.List;

import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.hibernate.dao.ClienteDAO;
import br.com.caelum.vraptor.modelo.Cliente;
import br.com.caelum.vraptor.view.Results;

@Resource

public class ClienteController {

	private Result result;
	private ClienteDAO clienteDAO;
	
	public ClienteController(Result result, ClienteDAO clienteDAO)
	{
		this.result = result;
		this.clienteDAO = clienteDAO;
	}
	
	public List<Cliente> lista()
	{
		return new ClienteDAO().listaTudo();
	}
	
	public void adiciona(Cliente cliente)
	{
		new ClienteDAO().salva(cliente);
		result.use(Results.logic()).redirectTo(ClienteController.class).lista();
	}
	
	public void formulario()
	{
		
	}
	
}

Ao chamar o adiciona, ele salva no banco porém recebo esse erro no redirecionamento (quando uso o redirect pra page em vez de logica ele funciona)

15/05/2010 22:21:49 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
br.com.caelum.vraptor.InterceptionException: an exception was raised while executing resource method
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:86)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type
	at net.sf.cglib.core.TypeUtils.parseType(TypeUtils.java:180)
	at net.sf.cglib.core.KeyFactory.<clinit>(KeyFactory.java:66)
	at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
	at br.com.caelum.vraptor.proxy.AbstractCglibProxifier.enhanceTypeWithCGLib(AbstractCglibProxifier.java:46)
	at br.com.caelum.vraptor.proxy.ObjenesisProxifier.proxify(ObjenesisProxifier.java:31)
	at br.com.caelum.vraptor.view.DefaultLogicResult.redirectTo(DefaultLogicResult.java:108)
	at br.com.caelum.vraptor.blank.ClienteController.adiciona(ClienteController.java:33)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57)
	... 37 more
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
	... 49 more

Agradeço desde já!
Thiago

6 Respostas

Guevara

Creio que o seu problema seja este:

Tenta assim:

private final ClienteDAO clienteDAO;
private final Result result;
private Validator validator;

public ClienteController(Result result, clienteDAO clienteDAO, Validator validator) {
		this.result = result;
		this.clienteDAO = clienteDAO;
		this.validator = validator;
};


public void lista(Long idCliente) {
  result.include("cliente", clienteDAO.listaTudo());
// este método é invocado passando um ID do cliente, o método lista() representa uma página JSP dentro da sua pasta "cliente", dentro da WEB-INF.
}
G

Seu problema está aqui:

Só não entendo porque ele está pedindo essa classe. Ela deveria não ser necessária, pois a cglib já possui ela dentro “repackaged”. Você pode nos mostrar as libs que você tem no seu projeto? A cglib usada no vraptor é a cglib-nodep-2.1_3.jar que está dentro do /lib/mandatory.

O

Guevara:
Creio que o seu problema seja este:

Tenta assim:

Opa Guevara, o lista ta funcionando de boa, inclusive após adicionar e na pagina de erro eu chamar o lista, ele me mostra o cliente adicionado.

Quanto as libs, estou usando essas (acho que tem até d+ ai hehe)

[URL=http://img130.imageshack.us/i/libs.jpg/][/URL]

Uploaded with [URL=http://imageshack.us]ImageShack.us[/URL]

Agradeço a ajuda prestada de ambos!
Thiago

Lucas_Cavalcanti

tira o cglib-2.2.jar que deve funcionar…

O

Isso!!! foi!
Valeuzão mesmo cara! :smiley:
Agradeço a todos pela atenção
Resolvido!

G

Aproveita e remove esse monte de lib duplicadas. Embora o Java seja bem esperto você pode ter surpresas no futuro. Nunca use várias versões da mesma lib.

Criado 15 de maio de 2010
Ultima resposta 16 de mai. de 2010
Respostas 6
Participantes 4