Pessoal, meu problema é o seguinte: Todas as aplicações da empresa (war) estão empacotando as libs em web-inf/libs, e isso está dificultando a atualização das mesmas por causa do tamanho do arquivo. Para resolver o problem, estou migrando as aplicações para Maven (pois é, não usávamos). Com isso eu vou criar uma aplicação corporativa (EAR) e junto dela coloco os módulos (WAR), deixo as libs no EAR e excluo as libs dos WARs. Isso funciona localmente. Mas aí me deparei com o seguinte problema. Minha ideia era de enviar o EAR somente quando bibliotecas fossem alteradas, ou seja, somente as aplicações seriam enviadas (deploy). Mas não sei como faço deploy de um war que pertence a um EAR, sem enviar todo o EAR. Alguém sabe ou utiliza outra maneira de compartilhar as bibliotecas comuns entre as aplicações WAR? Agradeço!
Deploy de Aplicação WAR no Glassfish (EAR, WAR)
2 Respostas
Alguma ideia?
Você poderia ter um jenkis instalado, ele cuidaria do processo de empacotar o .ear e todos os devs fariam commit no SVN,GIT,TFS…
Quanto a deixar todas as libs no .ear eu não penso ser uma boa idéia, como o projeto ficaria bem monolítico todos os devs teriam que baixar todos módulos do .ear para poder fazer deploy local em seus ambientes por causa das dependências.
Penso que de começo cada projeto .war poderia ser um .ear assim fica mais fácil até mesmo escalonar isso. em n containers JavaEE, assim você iria permitir cada desenvolvedor trabalhar em projetos diferentes e um deploy não afetaria o outro evitando problemas e rollback em prod.
Se você vai usar as features do EJB concordo com transformar sua app em um enterprise-project, mas se não vai penso que poderia continuar empacotando .war fazendo bom uso do que mencionei acima.