Maven, Como referenciar projeto

3 respostas
brunobuild

Pessoal,

Estou iniciando com mavena agora e gostaria de saber como eu faço para referenciar um projeto do mesmo workspace.

Por exemplo eu tenho um projeto JSF2 e tenho um outro projeto de utilitarios e gostaria que o projeto do JSF2 utilizasse esse projeto de utilitários.
Como faço essa configuração seria no POM.xml?

Obrigado

3 Respostas

fabiomedeirosf

Olá Bruno, tranquilo fazer isto.

Quando vou trabalhar com mais de um projeto, crio um projeto Pai (PomPai), que “administrará” os demais, grosseiramente similar ao conceito de um EAR. Neste projeto pai, os projetos que serão administrados por ele, são configurados como modules.

Nos projetos filhos, vc referencia este como filho usando a tag . Bastará vc criar uma dependência com os dados do seu projeto de artefatos.

Outra concepção, seria vc gerar um Jar deste projeto de artefatos, e incluí-lo no seu repositório maven (local ou não, usando ou nao nexus), e assim, não precisará da estrutura de múltiplos projetos, como mencionei acima.

Para a estrutura que mencionei acima, segue referências: http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance

[]s

brunobuild

Fabio,

Muito obrigado, pela sua ajuda foi de muita importância.

Consegui pegar todas as dependencias desse meu projeto “Parent”, porém eu não estou conseguindo herdar uma classe que está neste projeto “Parent”, existe algum truque/macete para isso?

fabiomedeirosf

Olá Bruno, que bom que foi válido.

Seguinte, no projeto Pai (parent), eu so coloco as dependências comuns a todos os demais projetos, por exemplo: se vc está constituindo um projeto inteiro em Spring, e o segmentou, digamos:

ProjetoParent [ProjetoWeb, ProjetoDAO, ProjetoBusiness]

Neste exemplo, os tres projeto pertencentes ao parent terão que ter as dependências do SpringCore acoloco as dependências do spring no projeto Parent.

Observe que temos o projeto DAO, responsável apenas pela camada de persistência, assim, coloco como dependências (JPA, Hibernate, etc) apenas no ProjetoDAO.

Nesta simulação, o projetoWeb deverá ter visibilidade ao projetoBusiness, assim, adiciono no pom.xml do projetoWeb uma depedência do ProjetoBusiness, por exemplo:

<dependency> <groupId>br.com.projeto</groupId> <artifactId>ProjetoBusiness</artifactId> </dependency>

Deu pra entender mais ou menos?

[]s

Criado 26 de março de 2012
Ultima resposta 27 de mar. de 2012
Respostas 3
Participantes 2