Pessoal existe alguma alternativa para se resolver ProjectCycleException com maven?
Tenho um projeto que EJB na seguinte estrutura:
PAI
|EAR
| EJB_1
|__ EJB_2
|__ EJB_3
|__ EJB_N +1
|__ WEB
O grande problema é que todos os EJB’s se comunicam com com todos os EJB’s causando a mensagem de erro: The cycle consists of projects e por mais que eu tente compilar utilizando a opção NON-RECURSIVE é gerado um ProjectCycleException. Alguém tem uma idéia de como pode ser resolvido isto?
Boa tarde,
Para resolver o problema de ProjectCycleException vc deve rever as depedencias entre os projetos verificar se cada EJB tem sua responsabilidade bem definida.
Esse é o famoso problema do ovo e da galinha … o projeto inicia desta forma e depois você tem muitos problemas.
[quote=tiozao_bp]Boa tarde,
Para resolver o problema de ProjectCycleException vc deve rever as depedencias entre os projetos verificar se cada EJB tem sua responsabilidade bem definida.
Esse é o famoso problema do ovo e da galinha … o projeto inicia desta forma e depois você tem muitos problemas.[/quote]
Ele não chega a criar o ear e por isso não chega a ter o application.xml
[quote=anderson.bonavides][quote=tiozao_bp]Boa tarde,
Para resolver o problema de ProjectCycleException vc deve rever as depedencias entre os projetos verificar se cada EJB tem sua responsabilidade bem definida.
Esse é o famoso problema do ovo e da galinha … o projeto inicia desta forma e depois você tem muitos problemas.[/quote]
Ele não chega a criar o ear e por isso não chega a ter o application.xml[/quote]
O projeto foi montado por um Archetype, agora o motivo da exceção é que os projetos entram em um ciclo de compilação e dependência e acaba gerando o ProjectCycleException.
Se seus problema esta relacionado a estas dependencias ciclicas da uma olhada em http://structure101.com/.
É uma ferramenta muito legal e ainda tem um trial de 30 dias.
[quote=tiozao_bp]O problema n estara no Pom pai e sim nos modulos onde
M1 - Depende de M2
M2 - Depende de M1
Entao quando isso ocorre ou vc funde os 2 modulos ou atribui funcionalidade dependente ao modulo com maior afinidade.[/quote]
Sim, isso mesmo tizão talvez não tenha sido claro na explicação mas foi exatamente isto que estou querendo falar. Vou dar uma olhada no projeto que vc falou.
[quote=anderson.bonavides][quote=tiozao_bp]O problema n estara no Pom pai e sim nos modulos onde
M1 - Depende de M2
M2 - Depende de M1
Entao quando isso ocorre ou vc funde os 2 modulos ou atribui funcionalidade dependente ao modulo com maior afinidade.[/quote]
Sim, isso mesmo tizão talvez não tenha sido claro na explicação mas foi exatamente isto que estou querendo falar. Vou dar uma olhada no projeto que vc falou.
Grato! [/quote]
quando eu falo do pom… quero saber do pom do ear…
vc vai ter um POM pai… e dentro dele vai ter todos os outros filhos… vc criou um modulo pro ear? se criou quero ver como vc criou esse pom.xml do ear…
ele gera o application.xml, ele só não ta gerando por conta do problema ciclico de projetos EJBs que dependem um do outro. Estou com um projeto menor na mesma estrutura que gera o application.xml corretamente.
é complicado… bom se eu estivesse com esse problema criaria um novo modulo maven, e colocaria todos os dependentes comum lá… ou iria rever como esta fazendo e dependendo mover classes de um modulo para outro…
nao tem como mover algumas classes para outro modulo?
Sim, as classes comuns estão em um projeto separado, mas o grande problema é que os EJBs acessam servidos dos outros EJBs. Uma possível solução seria um projeto único EJB e depois realizar alguma forma de cada pacote gerar o seu arquivo JAR separado.
todos ejb se comunicam entre si? é essa situação? ou tem um certo ejb que todos precisam acessar?[/quote]
Todos se comunicam entre si.[/quote]
tem um jeito… mas vc vai ter que migrar tudo para @remote… e criar um ear para cada ejb… pq local ta dificil uma solução facil…
vou perguntar a uns conhecidos o que eles recomendam…