| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/01/2011 22:29:31
|
William Alves
JavaEvangelist
![[Avatar]](/images/avatar/7aef228fe8c99a599158ee626efe281b.jpg)
Membro desde: 02/10/2008 07:36:41
Mensagens: 301
Localização: São Paulo-SP
Offline
|
Olá Pessoal.
Sou novo com maven e conversando com um amigo ele fez o favor de me confundir.
Eu tinha 4 projetos A B C D, cada um deles tinha um POM e no final eu atrelava a um EAR que tinha um pom, eu dava um mvn install em cada um deles, e por ultimo no EAR:
EAR
- A.jar --> C.jar*
- B.jar --> D.jar*
- C.jar
- D.jar
* -Dentro do projeto
Onde A depende de C e B depende de D mas C esta dentro de A e D esta dentro de B.
"Amigo" me disse que eu não preciso dar mvn isntall em cada um dos Ps e sim só no POM do EAR, isso é verdade, tipo pelo que ele me explicou o maven desceria a estrutura dando install em cada um dos demais sozinho e depois subria para o EAR e concluiria o install dele.
Bom não sei se isso realmente ocorre, mas sei que encontrei um impecilio nessa abordagem.
EAR
- A.jar --> C.jar^
- B.jar --> D.jar^
- C.jar
- D.jar
^ - fora do projeto
Tenho esta mesma estrutura porém com C fora de A e D fora de B, estando C e D apenas na hierarquia do EAR.
Sendo assim os projetos A e B estão com erros, e o mvn install não consegue ser completado.
Pergunta, realmente dando install apenas no EAR ele vai seguindo pelos projetos abaixo?
Se sim, tem como eu fazer A e B enxergarem C e D que esta na estrutura do EAR, tipo obrigando a executar primeiro C e D (se é que isso é possível, se sim será que assim A e B veriam C e D, e permitiriam completar o install?
Toda ajuda é bem vinda inclusive outras formas de usar o maven, pensei em parent (andei vendo na net) mas acho que não me atende nesse sentido.
Abraços.
*ps: não posso usar os plugins tenho que fazer via console os comandos e também num queria ser deselegante caso realmente o maven percorra a hierarquia executando os comandos.
This message was edited 1 time. Last update was at 28/01/2011 22:32:02
|
William F. R. Alves
SCJA | SCJP 6 | SCWCD 5 | Próxima : SCBCD 5 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/01/2011 11:54:04
|
iogui
Debugger
Membro desde: 27/01/2011 01:54:53
Mensagens: 67
Offline
|
Olá, William,
O que vc quer fazer é fácil.
Crie um diretorio que será o diretório pai e vai conter todos os projetos, e dentro dele crie os diretorios dos subprojetos, incluindo um subprojeto que vai servir só pra construir o ear:
dirPai:
-A
-B
-C
-D
-EAR
A, B, C e D serão jar ou war, tanto faz.
No diretorio pai (projeto pai) crie um pom que indique que este é um projeto com vários modulos:
Veja que este pom tem packaging "pom" que quer dizer que, por si só, ele não gera nada mas é usado como pai para os pons dos subprojetos.
Depois é só criar um pom na raiz de cada subprojeto declarando seu parent como o pom anteriormente criado no diretorio pai:
O packaging pode ser jar, se for um projeto de lib, ejb se for um projeto de ejb, war se for um projeto web e etc.
No projeto do ear, crie um pom com packaging ear e configure o plugin de geração do ear para incluir os jars/wars/ejbs na forma que quiser. Ex:
No pom pai, vc pode definir todas as dependencias que sejam comuns a todos os projetos e no pom dos filhos defina as dependencias especificas.
Se A depende de B mas não de C ou D, apenas acrescente a dependencia de B em A.
Pronto, agora é só entrar no diretorio pai e digitar:
mvn package
E ele vai buildar tudo pra vc e entregar um ear prontinho pra uso!
|
|
|
 |
|
|
|
|