Dúvidas Deploy, Integração Contínua e Gestão de dependências

2 respostas
G

Olá Turma, estou com dúvidas no seguinte cenário:
Cada projeto novo que crio contém uma “carrada” de bibliotecas(hibernate, spring, jpa e etc). Isso não pesa para o servidor de aplicações?

Teria como eu deixar essas bibliotecas numa área comum do servidor de aplicação em que todos os projetos usariam estas bibliotecas de lá evitando a redundância?
Penso em utilizar o maven para a Gestão de dependências, evitando que as bibliotecas fiquem replicadas em cada projeto e assim meu servidor cvs fique mais leve. Porém quando eu fizer o deploy as bibliotecas estariam redundantes no servidor de aplicação de qualquer jeito.

Até que ponto a redundãncia das bibliotecas pesa para o servdior de aplicações? tem como otimizar isso?
Quais seriam as vantagens ou desvantages com relação a isso?
Qual seria uma solução para otimizar isso? espero que tenham entendido.

agradeço pela ajuda!!

2 Respostas

diguix

Caro gleyve,

Cada servidor de aplicação tem uma área comum para as bibliotecas.
por exemplo o JBoss, no diretório ~\jboss-4.2.3.GA\server\default\lib ficam as libs compartilhas.

R: Sim existe a possibilidade de compartilhar as libs.
Um caso comum é colocar o jar do driver do banco que você vai utlizar ele fica compartilhado para todas as aplicações.

  • No jboss tem uma configuração adicional que você pode fazer par isolar as libs também.

  • No seu ambiente de desenvolvimento é só adicionar ao classpath a lib do servidor.

G

É eu até sabia dessa área em comum para as libs e já o costumo usar o jar do driver do banco nesta área. Mas por que não fazer o mesmo com as outras libs(hibernate, spring)? Se ninguém faz deve haver grandes desvantagens nisso. Ou estou errado?

Se não houver desvantagem gostaria de usar esta estratégia em nosso ambiente de desenvolvimento evitando assim a redundância das libs em comum entre os diversos projetos.

Criado 29 de janeiro de 2009
Ultima resposta 29 de jan. de 2009
Respostas 2
Participantes 2