E quando o projeto é grande demais?

To com um problema que é uma constante em vários lugares, o projeto em que voce está é simplesmente grande demais. Os fontes de um deles aqui, que não é o projeto todo aliás, tá dando 90mb. Imagine vc dar checkout no cvs disso e depois dar build, não tem PC que aguente. Pior de tudo é na hora de gerar o ear…

Tem alguma solução pra isso? Existe forma de dividir uma aplicação java ee em varios builds sem com isso perder sessão no server e coisas do genero? Como fazer deploy de uma aplicação em partes e fazer as partes funcionarem juntas? Já fizeram isso?

Att :wink:

Normalmente a aplicação é modularizada, se fosse um sistema de RH, teriamos um modulo de admissão, um de férias, outro de pagamento e assim por diante e com um módulo principal. Cada módulo seria um projeto e o projeto principal utilizando os outros através de war ou como jar dependendo do cenário.

Muda esse esquema de change control.

Baixa os arquivos pra maquina e trabalha local. Faz build local e quando terminar sua atividade devolve os arquivos alterados e faz um merge no controle de versao.

Um exemplo bom é o GIT. Quando vc faz um rebase Ele só traz os codigos alterados. Nao é muito custoso um Rebase.

Pesquisa sobre uma outra maneira de usar o CVS e depois da o feedback pra galera aqui.
falows

Thiago, eu acho que trabalhar local sem fragmentar os projetos gigantes é meio arriscado, se for um projeto frenquetemente requisitado é dificil não enfrentar problemas com versão. Mesmo que o versionador trate classe a classe dependendo do tamanho do projeto os problemas não desaparecem.

Sem contar que se for um projetão, ele vai ter que ficar atualizando constantemente o workspace pra trabalhar na versão correta.

Eu sugiro que se for possivel quebrar o projeto por módulos ia ser uma boa, até pra ficar mais facil de trabalhar com a aplicação em ambiente local, você baixa o módulo principal e o modulo que vc quer alterar trabalha sem ter que usar todos os outros módulos. Vc ainda pode adicionar um controle de versão com o arquivo de manifest pra cada módulo.

[quote=DaviPiala]Thiago, eu acho que trabalhar local sem fragmentar os projetos gigantes é meio arriscado, se for um projeto frenquetemente requisitado é dificil não enfrentar problemas com versão. Mesmo que o versionador trate classe a classe dependendo do tamanho do projeto os problemas não desaparecem.

Sem contar que se for um projetão, ele vai ter que ficar atualizando constantemente o workspace pra trabalhar na versão correta.

Eu sugiro que se for possivel quebrar o projeto por módulos ia ser uma boa, até pra ficar mais facil de trabalhar com a aplicação em ambiente local, você baixa o módulo principal e o modulo que vc quer alterar trabalha sem ter que usar todos os outros módulos. Vc ainda pode adicionar um controle de versão com o arquivo de manifest pra cada módulo.[/quote]
Ele já está em modulos. Este modulo que estou trabalhando é como eu disse apenas uma parte do todo… isso é um problema do cacete. Entendo que se isso fosse portlet creio que funcionaria melhor, mas agora já é bem tarde pra falar isso para os caras. :lol:

Então … problema complicado.

muda o esquema do projeto … cria novos branches para cada projeto ou equipe, enfim…, no final da release, faz um merge dos branches para o principal e de lá faz o build para producao … Nao sei como funciona o processo da sua empresa.

Existem boas ferramentas para merge de codigo.

Espero ter ajudado

[]'s

Acho que o bamboo soluciona uma boa parte desses problemas.