Pessoal,
Estou trabalhando com o vRaptor já tem uns meses e não tive problema algum. Essa semana eu iniciei um novo projeto e aproveitei para atualizar a versão do vRaptor para 3.5.0, acontece que me deparei com um erro que eu ainda não tinha visto em um procedimento bastante comum. Eu criei as minhas classes e a partir delas o hibernate criou o banco de dados, em seguida criei uma tela simples de cadastro de um contrato e o controller - antes de carregar a tela eu faço uma busca no banco para ver se já existe algum registro do contrato, caso exista ele carrega o bean e eu exibo as informações na tela. Quanto eu completo as informações do contrato na tela e mando salvar a requisição nem chega no controller e me vem o erro abaixo:
Abr 09, 2013 11:16:59 AM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet default threw exception
java.lang.NoSuchMethodError: net.vidageek.mirror.reflect.dsl.AllReflectionHandler.methodsMatching(Lnet/vidageek/mirror/list/dsl/Matcher;)Ljava/util/List;
at br.com.caelum.iogi.reflection.NewObject$JavaSetter.settersOf(NewObject.java:117)
at br.com.caelum.iogi.reflection.NewObject$Setter.settersIn(NewObject.java:66)
at br.com.caelum.iogi.reflection.NewObject$Setter.access$000(NewObject.java:62)
at br.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:50)
at br.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:41)
at br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30)
at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:86)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:81)
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:80)
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:73)
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:63)
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.getParametersFor(ParametersInstantiatorInterceptor.java:132)
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:86)
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:67)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
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:128)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
o meu bean está assim:
[code]package br.fgv.auditoria.bean;
import java.math.BigDecimal;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
public class Documento {
@Id
@GeneratedValue
private Long id;
private String codigo;
private String objetoContrato;
private Long idDocTipo;
private Long idFornecedor;
private Long idMedicao;
private Long idReforcoEmpenho;
private Long idClassificacaoEconomica;
private int prazoDias;
private Timestamp dataInicioVigencia;
private Timestamp dataFinalVigencia;
private BigDecimal valorPrincipal = new BigDecimal(0);
private BigDecimal valorReajuste = new BigDecimal(0);
private BigDecimal valorTotal = new BigDecimal(0);
private String numeroClausulaFinanceira;
private Timestamp dataAssinatura;
private boolean caucao;
private BigDecimal valorCaucao = new BigDecimal(0);
private Timestamp dataRecolhimentoCaucao;
private String numeroProcessoAdministrativo;
private String numeroEmpenho;
private String alteradoPor;
private Timestamp dataUltAtualizacao;
//getters e seters[/code]
e a tela eu fiz assim:
[code]
-
<fmt:message key=“informe.codigo.documento” />:
-
<fmt:message key=“objeto.contratacao” />:
${documento.objetoContrato }
-
<fmt:message key=“contratada” />:
<fmt:message key=“tipo.documento” />:
<fgv:comboDocTipo docTipoList="${tipoDocumento }" id=“documento.idDocTipo” />
<fmt:message key=“prazo” />:
<fmt:message key=“contrato.assinado” />:
<fmt:message key=“inicio.vigencia” />:
<fmt:message key=“fim.vigencia” />:
<fmt:message key=“valor.principal” />:
<fmt:message key=“valor.reajuste” />:
<fmt:message key=“valor.total” />:
<fmt:message key=“numero.clausula.financeira” />:
<fmt:message key=“elemento.despesa” />:
<fmt:message key=“tem.caucao” />:
<fmt:message key=“valor.caucao” />:
<fmt:message key=“data.recolhimento” />:
<fmt:message key=“numero.processo.administrativo” />:
<fmt:message key=“numero.empenho” />:
</ul>
</li>[/code]
será que alguém já teve esse problema?
Um abraço,
Mauricio