Deploy de projeto vraptor .war

Boa tarde pessoal,
Tenho uma aplicação vraptor que funciona bem quando faço um deploy “explodido”.
Mas quando faço o deploy compactado “.war” não funciona, dá erro 404.
Eu percebi que quando é compactado ele não escaneia as anotações, só quando é explodido.
Segue log:

===========
explodido

2014-01-31 15:55:55 INFO BasicConfiguration:71 - Using class br.com.caelum.vraptor.ioc.guice.GuiceProvider as Container Provider 2014-01-31 15:55:55 INFO BasicConfiguration:142 - br.com.caelum.vraptor.scanning = null 2014-01-31 15:55:55 INFO WebAppBootstrapFactory:73 - Dynamic WebAppBootstrap found. 2014-01-31 15:55:56 INFO DefaultConverters:42 - Registering bundled converters 2014-01-31 15:55:56 INFO LinkToHandler:55 - Registering linkTo component 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /painel/lista [ALL] -> PainelController.lista() 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - / [GET] -> IndexController.index() 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /clientService/obterCiaUsuario [ALL] -> ClientService.obterCiaUsuario(String, String, String) 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /clientService/obterSiglaCiaUsuario [ALL] -> ClientService.obterSiglaCiaUsuario(Long, String, String, String) 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /clientService/montaPainel [ALL] -> ClientService.montaPainel(Painel, String) 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /clientService/montaPainelPrograma [ALL] -> ClientService.montaPainelPrograma(Painel, String) 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /clientService/obterPainelFaturamentoAno [ALL] -> ClientService.obterPainelFaturamentoAno(Painel, String) 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /login [GET] -> LoginController.login() 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /autenticar [POST] -> LoginController.autenticar(Usuario) 2014-01-31 15:55:56 INFO DefaultRouteBuilder:180 - /logout [GET] -> LoginController.logout() 2014-01-31 15:55:56 INFO VRaptor:114 - VRaptor 3.5.3 successfuly initialized

=============
compactado .war

2014-01-31 16:05:35 INFO BasicConfiguration:71 - Using class br.com.caelum.vraptor.ioc.guice.GuiceProvider as Container Provider 2014-01-31 16:05:35 INFO BasicConfiguration:142 - br.com.caelum.vraptor.scanning = null 2014-01-31 16:05:35 INFO WebAppBootstrapFactory:73 - Dynamic WebAppBootstrap found. 2014-01-31 16:05:36 INFO DefaultConverters:42 - Registering bundled converters 2014-01-31 16:05:36 INFO LinkToHandler:55 - Registering linkTo component 2014-01-31 16:05:36 INFO VRaptor:114 - VRaptor 3.5.3 successfuly initialized

=============
web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>painel</display-name> <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> </web-app>

Alguém já passou por isso ou sabe como resolver?
Obrigado
Abraço

Como vc gerou o .war?

Gerei de duas formas, utilizando maven e o export war do eclipse.
Os dois têm a mesma extrutura de diretórios, e os dois funcionam explodidos, mas não funcionam com o .war.
Quando tento utilizar:

<context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.uss.painel.controller</param-value> </context-param>

recebo o erro:
Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.

Utilizando getter e setter na classe que acusa o erro, funciona, mas quando executo uma action no controller a classe injetada está nula e recebo um NullPointerException

[]'s

Pode postar a stacktrace desse erro?

Posso sim, na segunda assim que chegar no trabalho eu posto.
Obrigado pela ajuda.
[]'s

Olá Lucas, segue erro quando utlilizo no web.xml:

<context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.uniconsult.painel.controller</param-value> </context-param>

E o construtor para fazer injeção:

[code]package br.com.uniconsult.painel.business;

import javax.xml.rpc.ServiceException;

import br.com.caelum.vraptor.ioc.Component;
import br.com.uniconsult.painel.client.ClientService;
import br.com.uniconsult.painel.model.Usuario;

@Component
public class LoginBusiness {

private ClientService clientService;

public LoginBusiness(ClientService clientService) {
	this.clientService = clientService;
}

public Usuario autenticar(String user, String senha, String url) {
	Usuario usuario = new Usuario();
	Long idCia = new Long(0);
	String siglaCia = "";
	try {
		
		idCia = clientService.obterCiaUsuario(user.toUpperCase(), senha, url);
		siglaCia = clientService.obterSiglaCiaUsuario(idCia, user.toUpperCase(), senha, url);
	} catch (ServiceException e) {
		e.printStackTrace();
	}
	if (!siglaCia.equals(""))
    {
    	usuario.setUsuario(user.toUpperCase());
    	usuario.setSenha(senha);
    	usuario.setIdCia(idCia);
    	usuario.setSiglaCia(siglaCia);
    	usuario.setUrlWS(url);
        return usuario;
    }
    return null;
}

}[/code]

[code]2014-02-03 09:47:25 INFO BasicConfiguration:71 - Using class br.com.caelum.vraptor.ioc.guice.GuiceProvider as Container Provider
2014-02-03 09:47:25 INFO BasicConfiguration:142 - br.com.caelum.vraptor.scanning = null
2014-02-03 09:47:25 INFO WebAppBootstrapFactory:73 - Dynamic WebAppBootstrap found.
<03/02/2014 09h47min25s BRST> <Could not load user defined filter in web.xml: br.com.caelum.vraptor.VRaptor.
com.google.inject.CreationException: Guice creation errors:

  1. Could not find a suitable constructor in br.com.uniconsult.painel.business.LoginBusiness. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
    at br.com.uniconsult.painel.business.LoginBusiness.class(LoginBusiness.java:16)
    while locating br.com.uniconsult.painel.business.LoginBusiness
    for parameter 2 at br.com.uniconsult.painel.controller.LoginController.(LoginController.java:26)
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)

1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:83)
Truncated. see log file for complete stacktrace

[/code]

Quando utilizo getter e setter e comento o construtor:

2014-02-03 09:53:33 INFO BasicConfiguration:71 - Using class br.com.caelum.vraptor.ioc.guice.GuiceProvider as Container Provider 2014-02-03 09:53:33 INFO BasicConfiguration:142 - br.com.caelum.vraptor.scanning = null 2014-02-03 09:53:33 INFO WebAppBootstrapFactory:73 - Dynamic WebAppBootstrap found. 2014-02-03 09:53:33 INFO DefaultConverters:42 - Registering bundled converters 2014-02-03 09:53:33 INFO LinkToHandler:55 - Registering linkTo component 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /painel/lista [ALL] -> PainelController.lista() 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - / [GET] -> IndexController.index() 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /login [GET] -> LoginController.login() 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /autenticar [POST] -> LoginController.autenticar(Usuario) 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /logout [GET] -> LoginController.logout() 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /clientService/obterCiaUsuario [ALL] -> ClientService.obterCiaUsuario(String, String, String) 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /clientService/obterSiglaCiaUsuario [ALL] -> ClientService.obterSiglaCiaUsuario(Long, String, String, String) 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /clientService/montaPainel [ALL] -> ClientService.montaPainel(Painel, String) 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /clientService/montaPainelPrograma [ALL] -> ClientService.montaPainelPrograma(Painel, String) 2014-02-03 09:53:34 INFO DefaultRouteBuilder:180 - /clientService/obterPainelFaturamentoAno [ALL] -> ClientService.obterPainelFaturamentoAno(Painel, String) 2014-02-03 09:53:34 INFO VRaptor:114 - VRaptor 3.5.3 successfuly initialized
Funciona mas obtenho um erro quando executo uma action na classe:

[code]POST /painel/autenticar HTTP/1.1
Connection: keep-alive
Content-Length: 79
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Origin: http://localhost:7001
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://localhost:7001/painel/login
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,es;q=0.2,gl;q=0.2
Cookie: ADMINCONSOLESESSION=k2BqSvBfQQySQvybpnldqQzjvQFjk3s4mV204WnJFTqvqhBnKm3Z!-1158469362; JSESSIONID=8bcBSvDZQSwZk2C52Nfn24T47xwwTgbFlNcfPyTJ2bYpfKyl1rTJ!-1158469362

]] Root cause of ServletException.
java.lang.NullPointerException
at br.com.uniconsult.painel.business.LoginBusiness.autenticar(LoginBusiness.java:25)
at br.com.uniconsult.painel.controller.LoginController.autenticar(LoginController.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Truncated. see log file for complete stacktrace

[/code]

Valeu pela ajuda.
[]´s

Segue meu web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>painel</display-name> <context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.uniconsult.painel.controller</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> </web-app>

Estou usando weblogic 10.3.6 e vraptor 3.5.3

Bem estranho… volte o construtor e dê um clean no projeto e no servidor.