java.lang.IllegalStateException: There are two rules that matches the uri " ..... " with same priority. Consider using @Path priority attribute.
br.com.caelum.vraptor.http.route.DefaultRouter.checkIfThereIsAnotherRoute(DefaultRouter.java:106)
br.com.caelum.vraptor.http.route.DefaultRouter.parse(DefaultRouter.java:97)
br.com.caelum.vraptor.http.DefaultResourceTranslator.translate(DefaultResourceTranslator.java:51)
br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:64)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)
br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
Ta bem, pelo que entendi estou “mapeando” dois metodos para um mesmo path. Mas como faço para resolver isso?
Exemplo:
:arrow: Tentando passar o Aluno para buscar tudo relacionado ao objeto aluno
@Path(THIS_PATH + "/lista/{aluno.id}")
public void listaConcessaoPorAluno(Aluno aluno) { ... }
:arrow: Tentando passar uma String com o nome para outro tipo de busca.
@Path(THIS_PATH + "/lista/{[a-zA-Z]}")
public void listaConcessaoPorNomeAluno(String nome) { ... }
Quando tenho esses dois métodos dá o erro lá de cima. Isso no mesmo Controller.
29/02/2012 15:18:09 org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter vraptor
java.lang.NoSuchMethodError: com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
at br.com.caelum.vraptor.scan.ScannotationComponentScanner.nullToEmpty(ScannotationComponentScanner.java:201)
at br.com.caelum.vraptor.scan.ScannotationComponentScanner.addWebInfClassesStereotypes(ScannotationComponentScanner.java:171)
at br.com.caelum.vraptor.scan.ScannotationComponentScanner.findStereotypes(ScannotationComponentScanner.java:143)
at br.com.caelum.vraptor.scan.ScannotationComponentScanner.scan(ScannotationComponentScanner.java:60)
at br.com.caelum.vraptor.scan.WebAppBootstrapFactory.create(WebAppBootstrapFactory.java:65)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.start(SpringProvider.java:83)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:110)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:103)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
29/02/2012 15:18:09 org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Engraçado, antes não tava usando a lib scannotation-1.0.2.jar
Sim, estou passando.
Olha no formulario que eu coloquei ali em cima como é que estou passando.
obs: Agora ta aplicado o priority=Path.HIGH e na assinatura coloquei @Path(THIS_PATH + "/lista/{[a-zA-Z]}")
public void listaConcessaoPorNomeAluno(String nome) { ... } e ta funcionando agora …