Migração jboss 5 para jboss 7

Ola a todos.

estou com uma pequena duvida quanto a nova estrutura do jboss 7
estou com um projeto(war) utilizando jboss 5. E o maven para gerenciar as dependências.
entre as dependências tenho spring, hibernate etc…

com a nova estrutura do jboss 7 as suas dependências ficam nos “modules”(até onde eu sei)
e para indicar pra ele quais são as minhas dependências eu tenho duas maneiras.

1.indicar elas pelo “jboss-deployment-structure.xml”, o qual se encontra dentro do web-inf do meu projeto

2.atraves do meu pom.xml adicionando o plugin a seguir.(o qual acaba adicionando as dependencias no manifest.mf ,
no caso o mesmo adiciona a seguinte linha: Dependencies: org.springframework)

      <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-war-plugin</artifactId>
       <configuration>
          <archive>
             <manifestEntries>
             	<Dependencies>org.springframework</Dependencies>
             </manifestEntries>
          </archive>
       </configuration>
     </plugin> 

Até ai tudo certo. né???

a minha duvida, é a seguinte.
Se com a estrutura de módulos,
vai ser necessário eu criar manualmente um novo modulo para cada library que eu importar???
(exemplo:Spring, seria uma estrutura +/- assim jboss.7<version>/modules/org/springframework/…)

isto não mata todo o conceito do maven? alem de que eu vou duplicar todas as dependências no meu pom?
ou o jboss 7 auto-magicamente identifica estas dependencias e cria os modulos antes do classLoader?

Obrigado

Um módulo no JBoss não é uma biblioteca. Esses módulos existem devido a nova arquitetura baseada em OSGi. Se você quiser se beneficiar dela, terá que criar os módulos no JBoss (não sei se existe algo que automatize isso), mas nada o impede de ter suas bibliotecas dentro da pasta lib da sua aplicação. Você só terá que informar ao JBoss quais módulos não deseja que sejam carregados para a sua aplicação.

Você pode começar dando uma olhada em como funciona o carregamento de classes no JBoss 7:

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

Muito obrigado pela resposta rapida e precisa.

só não entendi muito bem o conceito de modulos implementado no jboss 7, pois dentro do diretorio, ele esta com todas as Java EE api’s.

[quote=deyvidsbs]Muito obrigado pela resposta rapida e precisa.

só não entendi muito bem o conceito de modulos implementado no jboss 7, pois dentro do diretorio, ele esta com todas as Java EE api’s.

[/quote]

Isso ocorre porque tudo nele acaba virando um módulo no OSGi, inclusive as APIs Java EE. Os drivers do banco precisam estar lá, por exemplo.

Uma analogia bem superficial seria que os módulos representam uma estrutura mais organizada dos diretórios lib do JBoss 5. Por isso as libs do Java EE estão lá dentro.