Vraptor3 e maven, problema ao acessar o controller[RESOLVIDO]

5 respostas
mario.fts

Senhores…

Estou migrando um projeto do vraptor para o mavem, e estou tendo alguns problemas…

Quando acesso um endereço mapeado pelo controller acontece o seguinte erro:

17:28:01,285 DEBUG [VRaptor ] VRaptor received a new request 17:28:01,333 DEBUG [DefaultRequestExecution] executing stack DefaultRequestExecution 17:28:01,382 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ResourceLookupInterceptor 17:28:01,383 DEBUG [DefaultResourceTranslator] trying to access / 17:28:02,160 DEBUG [VRaptor ] VRaptor ended the request 17:28:04,505 DEBUG [VRaptor ] VRaptor received a new request 17:28:04,508 DEBUG [DefaultRequestExecution] executing stack DefaultRequestExecution 17:28:04,519 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ResourceLookupInterceptor 17:28:04,519 DEBUG [DefaultResourceTranslator] trying to access /clientes 17:28:04,523 DEBUG [DefaultResourceTranslator] found resource [DefaultResourceMethod: ClientesController.listaClientesController.lista()] 17:28:04,530 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor FlashInterceptor 17:28:04,534 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor InterceptorListPriorToExecutionExtractor 17:28:05,587 DEBUG [InstantiatedInterceptorHandler] Invoking interceptor HibernateTransactionInterceptor 17:28:05,589 DEBUG [InstantiatedInterceptorHandler] Invoking interceptor InstantiateInterceptor 17:28:05,648 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ParametersInstantiatorInterceptor 17:28:05,652 DEBUG [AsmBasedTypeCreator ] Trying to make class for ClientesController$lista$560765530$1 17:28:05,667 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for ClientesController.lista() as [] 07/06/2010 17:28:05 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet default threw exception java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(String.java:686) at br.com.caelum.vraptor.vraptor2.Info.capitalize(Info.java:62) at br.com.caelum.vraptor.http.asm.AsmBasedTypeCreator.typeFor(AsmBasedTypeCreator.java:85) at br.com.caelum.vraptor.reflection.CacheBasedTypeCreator.typeFor(CacheBasedTypeCreator.java:54) at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createViaOgnl(OgnlParametersProvider.java:112) at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createRoot(OgnlParametersProvider.java:108) at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.getParametersFor(OgnlParametersProvider.java:90) at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.getParametersFor(ParametersInstantiatorInterceptor.java:83) at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:68) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

Eu acho que é alguma coisa com a estrutura de arquivos do maven. A estrutura do projeto está assim:

src
–main
----java
------… ClienteController
----webapp
------WEB-INF
--------jsp
----------clientes
------------lista.jsp

Alguma sugestão?

5 Respostas

Lucas_Cavalcanti

vc tah usando a versão 3.1.2 do vraptor?

mario.fts

sim, 3.1.2. eu peguei como base aquele post que tem no cookbook, e adaptei algumas coisas. segue o pom do vraptor que eu gerei:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.caelum</groupId>
  <artifactId>vraptor</artifactId> 
  <version>3.1.2</version>
  <description>POM was created from install:install-file</description>
  <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
			<version>2.5.6</version>
        </dependency>
		<dependency>
			<groupId>com.thoughtworks.xstream</groupId> <======  não tinha a dependencia do xstream
			<artifactId>xstream</artifactId>
			<version>1.3.1</version>
		</dependency>
        <dependency>
            <groupId>com.thoughtworks.paranamer</groupId>
            <artifactId>paranamer</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>org.objenesis</groupId>
            <artifactId>objenesis</artifactId>
            <version>1.1</version>
        </dependency>
		<dependency>
			<groupId>com.google.collections</groupId>   <======= mudou o groupid, pra versão 1.0 é esse agora
			<artifactId>google-collections</artifactId>
			<version>1.0</version>
		</dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.6.0</version>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.1</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-io</groupId>
                    <artifactId>commons-io</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.8.0.GA</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>net.vidageek</groupId>
            <artifactId>mirror</artifactId>
            <version>1.5.1</version>
        </dependency>
        <dependency>
            <groupId>ognl</groupId>
            <artifactId>ognl</artifactId>
            <version>2.7.3</version>
            <exclusions>
                <exclusion>
                    <groupId>jboss</groupId>
                    <artifactId>javassist</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.5.6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.6</version>
        </dependency>
    </dependencies>
</project>

EDIT =: achei que quem tinha feito o post era o lavieri, mas foi o lucas mesmo! :smiley:

Lucas_Cavalcanti

vc não precisa gerar um pom do vraptor, o vraptor já está no maven!

só colocar no pom da sua aplicação:

<dependency>
    <groupId>br.com.caelum</groupId>
    <artifactId>vraptor</artifactId>
    <version>3.1.2</version>
</dependency>

(talvez vc tenha que remover o jar q vc instalou na mão)

Lucas_Cavalcanti

se isso não funcionar, vc pode detalhar um pouco mais o que tá acontecendo: qual url vc chamou e quais lógicas são executadas por ela?

mario.fts

Cara funcionou, eu pensei que só tinha até a versão 3.1.1, pela demora que costuma ser pra subir projetos no repositório, nem tinha pesquisado.

Deve ser alguma dependencia q eu usei pro vraptor que tava dando pau.

Obrigado mais uma vez Lucas! :wink:

Criado 7 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 5
Participantes 2