VRaptor3 e unpackwars = false

Pessoal,
tenho uma restrição que a configuração do meu tomcat precisa estar com a opção unpackWARs=false, mas isso faz com que eu receba um erro 404 para toda chamada que eu faço.

Preciso fazer alguma configuração especial no VRaptor?
Obrigado,
Thiago

[quote=vintem]Pessoal,
tenho uma restrição que a configuração do meu tomcat precisa estar com a opção unpackWARs=false, mas isso faz com que eu receba um erro 404 para toda chamada que eu faço.

Preciso fazer alguma configuração especial no VRaptor?
Obrigado,
Thiago[/quote]

não precisa… eu uso a mesma opção e nunca configurei nada…

o fato é que vc precisa descompactar por vc mesmo o .war dentro da pasta do seu contexto…

é essa a questão, eu não posso descompactar o arquivo na pasta. a necessidade é que seja feito o acesso pelo tomcat direto no war.

suas classes estão compiladas na pasta WEB-INF/classes? o war foi gerado com entradas de diretório?

Sim, as classes estao na WEB-INF/classes.

Sobre o war gerado com entradas de diretório, eu não sei dizer, eu gereio war direto pelo eclipse.

Mas isso não existe. Nunca um appserver faz acesso direto em um war. Sempre que você coloca um war dentro do diretório de deploy o appserver abre o war e faz os acessos sempre com o “war aberto”.

Existe, veja a opcao unpackWARs na documentacao do tomcat

http://tomcat.apache.org/tomcat-5.5-doc/config/host.html

É uma exigência do cliente que funcione assim.

testa com o unpack=true e vê se funciona… pra gente saber se é esse mesmo o problema

com o unpack=true funciona sim

habilita o log de debug pra br.com.caelum.vraptor e posta aqui como anexo por favor?

Lucas,
meu log4j.xml está assim como abaixo, mas nenhum arquivo é gerado, acredito que seja porque a pasta não é criada com o unpackwars=false. Não consigo ver os logs.

Tem alguma outra forma?

<?xml version="1.0" encoding="UTF-8" ?>

<log4j:configuration xmlns:log4j=“http://jakarta.apache.org/log4j/”>

    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
            <layout class="org.apache.log4j.PatternLayout">
                    <param name="ConversionPattern" 
                            value="%d{HH:mm:ss,SSS} %5p [%-20c{1}] %m%n"/>
            </layout>
    </appender>
    
    <appender name="FA" class="org.apache.log4j.FileAppender">
    	<param name="File" value="rcweb.log"/>
    	<layout class="org.apache.log4j.PatternLayout">
        	<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
    	</layout>
	</appender>
            
    <category name="br.com.caelum.vraptor">
            <priority value="DEBUG" />
            <appender-ref ref="FA" />
            <appender-ref ref="stdout" />
    </category>
    
    <category name="org.springframework">
            <priority value="INFO" />
            <appender-ref ref="stdout" />
    </category>
    
    <category name="org.hibernate">
            <priority value="INFO" />
            <appender-ref ref="stdout" />
            <appender-ref ref="FA" />
    </category>
    
    <category name="br.com.jmacedo.requisicaoCompras">
            <priority value="INFO" />
            <appender-ref ref="stdout" />
    </category>

</log4j:configuration>

vc tem que ver o log do servidor…

provavelmente o arquivo logs/catalina.out

Entao,
o ultimo registro que aparece log é do deploy do war

INFO: Deploying web application archive rcweb.war

depois eu tento acessar a aplicacao, dá erro 404 e nao aparece nada no log

deveria aparecer um VRaptor succesfully initialized no log…

o vraptor não tá nem carregando… vc tá com o filtro do vraptor no web.xml?

vc consegue achar o arquivo “rcweb.log”?

tenta mudar o File appender pra um arquivo absoluto no seu sistema…

no meu web.xml está assim:
e eu nao acho o arquivo rcweb.log nem mesmo com o caminho absoluto.

<?xml version="1.0" encoding="UTF-8"?>


rcweb
rcweb

<context-param>
	<param-name>br.com.caelum.vraptor.encoding</param-name>
	<param-value>iso-8859-1</param-value>
</context-param>

<context-param>
    <param-name>br.com.caelum.vraptor.provider</param-name>
    <param-value>br.com.jmacedo.requisicaoCompras.provider.CustomProvider</param-value>
</context-param>
	
	<filter>
		<filter-name>vraptor</filter-name>
		<filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>vraptor</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>REQUEST</dispatcher>
	</filter-mapping>

seu log4j.xml está na pasta WEB-INF/classes do war?

isso mesmo.

é estranho ele não estar gerando log… com o extractWar ele gera log?

se não tiver o log eu não tenho como saber o que está acontecendo, daí vou ter que tentar replicar o bug aqui na minha máquina, e não posso fazer isso agora…

Lucas,
não sai nenhuma informação do vraptor no log do tomcat, eu configurei o meu log4j.properties do tomcat está assim:

log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.base}/logs/tomcat.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger.br.com.caelum.vraptor=DEBUG

esse log4j.properties precisa estar na pasta source da aplicação… precisa estar no WEB-INF/classes