JBoss 7.1.1 + Vraptor 3.5.3 + Hibernate 3.6.Final

Olá pessoal,

  Estou com dificuldade de fazer o Jboss funcionar com o Vraptor! Hoje tenho uma aplicação rodando junto com o tomcat e preciso trocar o servidor por exigência do cliente. O problema ocorre ao inicializar o Jboss que acredito estar mapeando duas vezes as dependências
  1. Error notifying InjectionListener br.com.caelum.vraptor.ioc.guice.ScopeLifecycleListener$LifecycleExecutor@32bd8b9c of br.com.caelum.vraptor.plugin.hibernate4.SessionFactoryCreator.
    Reason: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method create
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.caelum.vraptor.plugin.hibernate4.SessionFactoryCreator
    Caused by: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method create
    at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:45)
    at net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
    at net.vidageek.mirror.invoke.MethodHandlerByMethod.withoutArgs(MethodHandlerByMethod.java:58)
    at br.com.caelum.vraptor.ioc.guice.ScopeLifecycleListener$LifecycleExecutor.afterInjection(ScopeLifecycleListener.java:89)
    at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:97)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:95)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:83)
    at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865)
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
    at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:936)
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:824)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3788)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3742)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
    at br.com.caelum.vraptor.plugin.hibernate4.SessionFactoryCreator.create(SessionFactoryCreator.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
    … 31 more

  2. Error notifying InjectionListener br.com.caelum.vraptor.ioc.guice.ScopeLifecycleListener$LifecycleExecutor@32bd8b9c of br.com.caelum.vraptor.plugin.hibernate4.SessionFactoryCreator.
    Reason: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method create
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.caelum.vraptor.plugin.hibernate4.SessionFactoryCreator
    while locating br.com.caelum.vraptor.ioc.ComponentFactory<org.hibernate.SessionFactory>
    Caused by: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method create
    at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:45)
    at net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
    at net.vidageek.mirror.invoke.MethodHandlerByMethod.withoutArgs(MethodHandlerByMethod.java:58)
    at br.com.caelum.vraptor.ioc.guice.ScopeLifecycleListener$LifecycleExecutor.afterInjection(ScopeLifecycleListener.java:89)
    at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:97)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:95)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:83)
    at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865)
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.msg3.model.entity.Aircraft
    at org.hibernate.cfg.Configuration$MappingsImpl.addClass(Configuration.java:2835)
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:816)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3788)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3742)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
    at br.com.caelum.vraptor.plugin.hibernate4.SessionFactoryCreator.create(SessionFactoryCreator.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
    … 32 more

=============================
POM.xml

net.sf.jasperreports jasperreports 5.6.1
	<dependency>
		<groupId>com.lowagie</groupId>
		<artifactId>itext</artifactId>
		<version>2.1.7</version>
	</dependency>
  
	<dependency>
	  <groupId>org.olap4j</groupId>
	  <artifactId>olap4j</artifactId>
	  <version>1.1.0</version>
	</dependency>

	<dependency>
	  <groupId>net.sf.jasperreports</groupId>
	  <artifactId>jasperreports-htmlcomponent</artifactId>
      <version>5.0.1</version>
    </dependency>
  
	<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-lang3</artifactId>
		<version>3.3.2</version>
	</dependency>
  
	<dependency>
		<groupId>org.liquibase</groupId>
		<artifactId>liquibase-core</artifactId>
		<version>3.2.2</version>
		<scope>test</scope>
	</dependency>

    <dependency>
	   <groupId>cpsuite</groupId>
	   <artifactId>cpsuite</artifactId>
	   <version>1.2.5</version>
	   <scope>test</scope>
    </dependency>

	<dependency>
		<groupId>com.google.code.gson</groupId>
		<artifactId>gson</artifactId>
		<version>2.2.4</version>
	</dependency>

	<dependency>
		<groupId>com.google.guava</groupId>
		<artifactId>guava</artifactId>
		<version>17.0</version>
	</dependency>

	<dependency>
		<groupId>org.mockito</groupId>
		<artifactId>mockito-all</artifactId>
		<version>1.8.4</version>
		<scope>test</scope>
	</dependency>

	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>
	  
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
		 </exclusion>
	  </exclusions>	
    </dependency>

	<dependency>
		<groupId>postgresql</groupId>
		<artifactId>postgresql</artifactId>
		<version>9.1-901.jdbc4</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>3.0.1</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	</dependency>

	<dependency>
		<groupId>br.com.caelum</groupId>
		<artifactId>iogi</artifactId>
		<version>1.0.0</version>
		<exclusions>
			<exclusion>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-library</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-generator</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-integration</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jmock</groupId>
				<artifactId>jmock-junit4</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jmock</groupId>
				<artifactId>jmock-legacy</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>org.codehaus.jettison</groupId>
		<artifactId>jettison</artifactId>
		<version>1.1</version>
	</dependency>

	<dependency>
		<groupId>org.seleniumhq.selenium</groupId>
		<artifactId>selenium-java</artifactId>
		<version>2.42.2</version>
		<scope>test</scope>
		<exclusions>
			<exclusion>
				<artifactId>commons-lang3</artifactId>
				<groupId>org.apache.commons</groupId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>xml-apis</groupId>
		<artifactId>xml-apis</artifactId>
		<version>1.4.01</version>
	</dependency>

	<dependency>
		<groupId>commons-fileupload</groupId>
		<artifactId>commons-fileupload</artifactId>
		<version>1.3.1</version>
	</dependency>
	
	<dependency>
		<groupId>org.hamcrest</groupId>
		<artifactId>hamcrest-all</artifactId>
		<version>1.3</version>
	</dependency>
	
	<!-- dependency>
		<groupId>org.mortbay.jetty</groupId>
		<artifactId>jsp-2.1</artifactId>
		<version>6.1.14</version>
	</dependency-->
	
	<dependency>
		<groupId>org.fluentlenium</groupId>
		<artifactId>fluentlenium-core</artifactId>
		<version>0.10.2</version>
		<scope>test</scope>
	</dependency>
	
   <dependency>
	    <groupId>org.fluentlenium</groupId>
	    <artifactId>fluentlenium-festassert</artifactId>
	    <version>0.10.2</version>
	    <scope>test</scope>
	</dependency>
	 
	<dependency>
		<groupId>com.google.api-client</groupId>
		<artifactId>google-api-client-gson</artifactId>
		<version>1.18.0-rc</version>
	</dependency>		
	
    <dependency>
        <groupId>br.com.caelum.vraptor</groupId>
        <artifactId>vraptor-plugin-hibernate4</artifactId>
        <version>1.5.0</version>
    </dependency>

	<dependency>
		<groupId>br.com.caelum</groupId>
		<artifactId>vraptor</artifactId>
		<version>3.5.3</version>
		<exclusions>
			<exclusion>
				<groupId>jfree</groupId>
				<artifactId>jfreechart</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-core</artifactId>
		<version>4.3.6.Final</version>
	</dependency>
	  
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-validator</artifactId>
		<version>4.2.0.Final</version>
		<scope>provided</scope>
	</dependency>

	<dependency>
		<groupId>br.com.caelum</groupId>
		<artifactId>restfulie</artifactId>
		<version>1.0.1</version>
	</dependency>
	<dependency>
		<groupId>org.apache.httpcomponents</groupId>
		<artifactId>httpclient</artifactId>
		<version>4.4-alpha1</version>
	</dependency>

=============================
WEB.xml

<?xml version="1.0" encoding="UTF-8"?> msg3
<welcome-file-list>
	<welcome-file>index.html</welcome-file>
</welcome-file-list>

<context-param>
	<param-name>br.com.caelum.vraptor.packages</param-name>
	<param-value>
		br.com.caelum.vraptor.http.iogi, br.com.caelum.vraptor.util.hibernate, com.msg3, br.com.caelum.vraptor.deserialization.gson, br.com.caelum.vraptor.serialization.gson
	</param-value>
</context-param>

<context-param>  
	<param-name>br.com.caelum.vraptor.encoding</param-name>  
	<param-value>UTF-8</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>

 <error-page>
  <exception-type>java.lang.Throwable</exception-type>
  <location>/error.jsp</location>
 </error-page>
 
<session-config>
    <session-timeout>-1</session-timeout>
</session-config>

Tente remover os jars do hibernate da sua app, pois o JBOSS já coloca esses jars para vc la.

Então Rafael o problema é como fazer isso? Pois a versão que uso é diferente da versão no jboss. Você sabe uma maneira de colocar o vraptor para acessar o hibernate da minha aplicação ou adicionar ela as dependencias?

Tentei fazer parecido com esse exemplo mais não deu certo
http://www.guj.com.br/java/271852-vraptor-3---hibernate-4

Tem certeza que não é um erro no seu mapeamento?

De qualquer forma, essa questão de usar uma versão diferente da fornecida pelo servidor sempre é problemática. Da uma olhada em como funciona o jboss-deployment-structure.xml, pode ser que você consiga impedir o uso do hibernate fornecido pelo JBoss por lá. To dizendo “pode ser”, porque já vi outros casos de libs fornecidas (JAX-RS - RestEasy) que não podem ser alteradas.

Tem certeza que não é um erro no seu mapeamento?

De qualquer forma, essa questão de usar uma versão diferente da fornecida pelo servidor sempre é problemática. Da uma olhada em como funciona o jboss-deployment-structure.xml, pode ser que você consiga impedir o uso do hibernate fornecido pelo JBoss por lá. To dizendo “pode ser”, porque já vi outros casos de libs fornecidas (JAX-RS - RestEasy) que não podem ser alteradas.[/quote]

Rodrigo,

  O sistema funciona corretamente com o tomcat, provando que os mapeamentos estão corretos! Tentei usar o jboss-deployment-structure, mas não consegui o resultado almejado! Até tentei criar um módulo com o jar específico do hibernate, mas sem sucesso até agora!

<jboss-deployment-structure>
<deployment>
<exclusions>
<module name=“javax.persistence.api” slot=“main”/>
<module name=“org.hibernate” slot=“main”/>
</exclusions>
<dependencies>
<module name=“org.hibernate” slot=“4.3.6”/>
</dependencies>
</deployment>
</jboss-deployment-structure>

Minha sugestão é procurar na documentação mesmo se é possível alterar a versão do hibernate.

Ponto de partida: https://www.google.com.br/search?client=safari&rls=en&q=jboss+7+upgrade+hibernate&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=NiJdVJn7G4OX8QftiICoAg

[quote=rodrigo.uchoa]Minha sugestão é procurar na documentação mesmo se é possível alterar a versão do hibernate.

Ponto de partida: https://www.google.com.br/search?client=safari&rls=en&q=jboss+7+upgrade+hibernate&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=NiJdVJn7G4OX8QftiICoAg[/quote]

O problema maior é que tenho que colocar a aplicação em um servidor restrito que contém várias implementações de outros softwares, acredito que eles não vão deixar eu mexer nos módulos! Mas mesmo assim, estou tentando achar alguma forma de fazer rodar a aplicação para ter um ponto de partida. 
 Alguém pode me explicar como faço para a minha aplicação enxergar os jars do Jboss e como ele faz para instanciar a aplicação deste jeito? Pois tentei mudar a versão do POM para provider e ele reclama de não encontrar os jars, nem a mesma versão ele encherga! Engraçado que vi uma aplicação rodando com jars diferentes da versão do hibernate sem provider e estava funcionando?

Você muda os jars que são carregados pela aplicação por meio do jboss-deployment-structure.xml mesmo. Algumas libs são carregas de maneira implícita, sem precisar colocar nada lá. Para mais detalhes, olhar a documentação:

https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7

[quote=rodrigo.uchoa]Você muda os jars que são carregados pela aplicação por meio do jboss-deployment-structure.xml mesmo. Algumas libs são carregas de maneira implícita, sem precisar colocar nada lá. Para mais detalhes, olhar a documentação:

https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7[/quote]

Rodrigo obrigado da ajuda que você está dando, mas mesmo implementando o arquivo de configuração parece que ele ainda continua carregando o jar do módulo :frowning:

<jboss-deployment-structure>
<deployment>
<exclusions>
<module name=“javax.api”/>
<module name=“sun.jdk”/>
<module name=“org.jboss.logging”/>
<module name=“org.apache.log4j”/>
<module name=“org.apache.commons.logging”/>
<module name=“org.slf4j”/>
<module name=“org.jboss.logging.jul-to-slf4j-stub”/>
<module name=“javaee.api”/>
<module name=“javax.xml.bind.api”/>
<module name=“javax.resource.api”/>
<module name=“javax.persistence.api”/>
<module name=“org.picketbox”/>
<module name=“org.jboss.ws.api”/>
<module name=“org.jboss.ws.spi”/>
</exclusions>
</deployment>
</jboss-deployment-structure>

15:24:54,966 WARN [org.jboss.modules] (MSC service thread 1-6) Failed to define class org.hibernate.SessionFactory in Module “deployment.msg3.war:main” from Service Module Loader: java.lang.LinkageError: Failed to link org/hibernate/SessionFactory (Module “deployment.msg3.war:main” from Service Module Loader)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:396)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73)
at org.jboss.modules.Module.loadModuleClass(Module.java:517)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at java.lang.Class.getDeclaredConstructors0(Native Method) [rt.jar:1.6.0_45]
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398) [rt.jar:1.6.0_45]
at java.lang.Class.getDeclaredConstructors(Class.java:1838) [rt.jar:1.6.0_45]
at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.getConstructor(GuiceComponentRegistry.java:154) [vraptor-3.5.3.jar:]
at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:140) [vraptor-3.5.3.jar:]
at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.register(GuiceComponentRegistry.java:84) [vraptor-3.5.3.jar:]
at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.deepRegister(GuiceComponentRegistry.java:101) [vraptor-3.5.3.jar:]
at br.com.caelum.vraptor.scan.DynamicWebAppBootstrap.configure(DynamicWebAppBootstrap.java:46) [vraptor-3.5.3.jar:]
at br.com.caelum.vraptor.ioc.guice.GuiceProvider$2.configure(GuiceProvider.java:123) [vraptor-3.5.3.jar:]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) [guice-3.0.jar:]
at com.google.inject.spi.Elements.getElements(Elements.java:101) [guice-3.0.jar:]
at com.google.inject.spi.Elements.getElements(Elements.java:92) [guice-3.0.jar:]
at com.google.inject.util.Modules$RealOverriddenModuleBuilder$1.configure(Modules.java:172) [guice-3.0.jar:]
at com.google.inject.AbstractModule.configure(AbstractModule.java:59) [guice-3.0.jar:]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) [guice-3.0.jar:]
at com.google.inject.spi.Elements.getElements(Elements.java:101) [guice-3.0.jar:]
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) [guice-3.0.jar:]
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) [guice-3.0.jar:]
at com.google.inject.Guice.createInjector(Guice.java:95) [guice-3.0.jar:]
at com.google.inject.Guice.createInjector(Guice.java:83) [guice-3.0.jar:]
at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97) [vraptor-3.5.3.jar:]
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119) [vraptor-3.5.3.jar:]
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113) [vraptor-3.5.3.jar:]
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_45]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
Caused by: java.lang.NoClassDefFoundError: javax/naming/Referenceable
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_45]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [rt.jar:1.6.0_45]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_45]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [rt.jar:1.6.0_45]
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391)
… 41 more

E se eu coloco as dependências dá erro também!

<jboss-deployment-structure>
<deployment>
<exclusions>
<module name=“javax.api”/>
<module name=“sun.jdk”/>
<module name=“org.jboss.logging”/>
<module name=“org.apache.log4j”/>
<module name=“org.apache.commons.logging”/>
<module name=“org.slf4j”/>
<module name=“org.jboss.logging.jul-to-slf4j-stub”/>
<module name=“javaee.api”/>
<module name=“javax.xml.bind.api”/>
<module name=“javax.resource.api”/>
<module name=“javax.persistence.api”/>
<module name=“org.picketbox”/>
<module name=“org.jboss.ws.api”/>
<module name=“org.jboss.ws.spi”/>
</exclusions>
<dependencies>
<module name=“org.hibernate” export=“true”/>
<module name=“org.dom4j” export=“true”/>
<module name=“org.javassist” export=“true”/>
<module name=“org.jboss.logging” export=“true”/>
<module name=“javax.annotation.api” export=“true”/>
</dependencies>
</deployment>
</jboss-deployment-structure>

  1. Error notifying InjectionListener br.com.caelum.vraptor.ioc.guice.ScopeLifecycleListener$LifecycleExecutor@6ac540c0 of br.com.caelum.vraptor.plugin.hibernate4.ServiceRegistryCreator.
    Reason: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method create
    at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:151)
    while locating br.com.caelum.vraptor.plugin.hibernate4.ServiceRegistryCreator
    Caused by: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method create
    at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:45)
    at net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
    at net.vidageek.mirror.invoke.MethodHandlerByMethod.withoutArgs(MethodHandlerByMethod.java:58)
    at br.com.caelum.vraptor.ioc.guice.ScopeLifecycleListener$LifecycleExecutor.afterInjection(ScopeLifecycleListener.java:89)
    at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:97)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:95)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:83)
    at br.com.caelum.vraptor.ioc.guice.GuiceProvider.start(GuiceProvider.java:97)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:119)
    at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:113)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865)
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.NoSuchMethodError: org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(Ljava/util/LinkedHashSet;Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;)V
    at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:247)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>(StandardServiceRegistryBuilder.java:73)
    at br.com.caelum.vraptor.plugin.hibernate4.ServiceRegistryCreator.create(ServiceRegistryCreator.java:52)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
    … 31 more

Galera mudei minha abordagem e criei um projeto do zero para ver melhor os problemas. Desta forma consegui rodar uma versão! O que pude perceber é que versões mais antigas que não tinha o guice funciona normalmente, nem foi preciso colocar o scopo como provide! Acredito que o vraptor acima desta versão não é compatível com o JBoss 7.1 porque ele se perde na hora de configurar o sessionFactory!


4.0.0
br.com.teste
angularJs
0.0.1-SNAPSHOT
war

<dependencies>

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

	<dependency>
		<groupId>postgresql</groupId>
		<artifactId>postgresql</artifactId>
		<version>9.1-901.jdbc4</version>
	</dependency>

	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-core</artifactId>
		<version>3.6.10.Final</version>
	</dependency>

	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-validator</artifactId>
		<version>4.2.0.Final</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>3.0.1</version>
		<scope>provided</scope>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
		<scope>provided</scope>
	</dependency>


	<dependency>
		<groupId>br.com.caelum</groupId>
		<artifactId>iogi</artifactId>
		<version>0.9.0</version>
	</dependency>

	<dependency>
		<groupId>org.codehaus.jettison</groupId>
		<artifactId>jettison</artifactId>
		<version>1.1</version>
	</dependency>
</dependencies>

<build>
  	<outputDirectory>target/classes</outputDirectory>
  	<testOutputDirectory>target/classes</testOutputDirectory>
    <sourceDirectory>src/main/java</sourceDirectory>
    <testSourceDirectory>src/test</testSourceDirectory>
	<plugins>
    	<plugin>
	        <artifactId>maven-compiler-plugin</artifactId>
	        <version>3.1</version>
	        <configuration>
	          <source>1.6</source>
	          <target>1.6</target>
	        </configuration>
	      </plugin>
	      
	      <plugin>
	        <artifactId>maven-war-plugin</artifactId>
	        <version>2.4</version>
	        <configuration>
	          <warSourceDirectory>src/main/webapp</warSourceDirectory>
	          <failOnMissingWebXml>false</failOnMissingWebXml>
	        </configuration>
	      </plugin>
	      
		  <plugin>
			<artifactId>maven-release-plugin</artifactId>
			<version>2.5</version>
			<configuration>
				 <goals>deploy</goals>
			</configuration>
		  </plugin>
	</plugins>
</build>	
 O problema agora é que quando eu atualizo o software está dando esse erro! Lembro que quando instalei o vraptor tive que utilizar o gson para converter corretamente os objetos enviados via json, principalmente lista! Ví que nas versões antigas ele utiliza o xstrem para fazer isso, mas me parece que foi descontinuado sua utilização! Alguém pode ajudar?

16:07:54,783 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/msg3].[default]] (http-localhost-127.0.0.1-8080-3) Servlet.service() for servlet default threw exception: com.thoughtworks.xstream.converters.ConversionException: null : null
---- Debugging information ----
cause-exception : java.lang.NullPointerException
cause-message : null
class : com.msg3.model.entity.ProgressBar
required-type : com.msg3.model.entity.ProgressBar
line number : -1

at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:89) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861) [xstream-1.3.1.jar:]
at br.com.caelum.vraptor.deserialization.JsonDeserializer.deserialize(JsonDeserializer.java:62) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.DeserializingInterceptor.intercept(DeserializingInterceptor.java:87) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:93) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at com.msg3.model.security.SecurityInterceptor.intercept(SecurityInterceptor.java:35) [classes:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.util.hibernate.HibernateTransactionInterceptor.intercept(HibernateTransactionInterceptor.java:48) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88) [vraptor-3.4.1.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]

Caused by: java.lang.NullPointerException
at br.com.caelum.vraptor.serialization.xstream.VRaptorClassMapper.shouldSerializeMember(VRaptorClassMapper.java:55) [vraptor-3.4.1.jar:]
at com.thoughtworks.xstream.mapper.MapperWrapper.shouldSerializeMember(MapperWrapper.java:110) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.determineType(AbstractReflectionConverter.java:342) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:208) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162) [xstream-1.3.1.jar:]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82) [xstream-1.3.1.jar:]
… 53 more