Problema com ordem de compilação no ANT

Bom dia a todos.

Estou num projeto aqui na empresa que usa o ANT da seguinte forma:
Na hora de gerar o .ear ele gera um .jar para cada pacote do projeto e empacota tudo no final.

O problema é o seguinte, imagine a seguinte estrutura e ordem de compilação:
-pacote a
-pacote b
-pacote c

Se no pacote b eu quiser usar uma classe do pacote a, o empacotamento funciona corretamete. Porém, se eu uso uma classe do pacote b no pacote a, na hora de rodar o ant ele dá erro de compilão, dizendo que a classe do pacote b não foi encontrada.

Alguém sabe como resolver esse problema?

Obrigado
Luciano

Nesse caso você precisa compilar primeiro o pacote b, e depois o pacote a.

Abs

Oi Diogo,

Obrigado pela resposta, mas isso não resolve meu problema, pois dei um exemplo simples, mas tem casos que trocar a ordem não resolve, pois ai dá problema com outras dependências. Precisaria resolver mesmo o problema.

Obrigado
Luciano

Ola,

Estranho este problema, pois isto não parte do ANT, e sim do compilador, que é muito esperto, ele sabe as classes que uma classe precisa para compilar, e compila estas primeiro… a segue a fila…

Pergunta: como está estruturado este projeto, vc tem todas os codigos num diretorio base só, tipo o classivo “src”??? ou estão em diretorios distintos?

Ola Bruno.

Esse que parece ser o problema, pois estão em diretórios e pacotes separados e cada um desses vira um jar…ai quando o jar a vai usar uma classe do jar b, ele nem existe ainda…

[quote=LucianoM86]Ola Bruno.

Esse que parece ser o problema, pois estão em diretórios e pacotes separados e cada um desses vira um jar…ai quando o jar a vai usar uma classe do jar b, ele nem existe ainda…[/quote]

Então que tal colocar todos num mesmo diretorio, e após a compilação vc gera os jar em separados… acho que assim fica mais facil… não?

Outra, se este erro tá acontecendo, acho que vc tem qeu ver melhor sua estrutura e dependencias… tipo:
Supondo que vc tenha 3 modulos, são eles server, client e shared, os modulos server e client terão a dependencia de shared, mas o shared não pode, em momento algum depender de client ou server… saca?

Esse é o problema de se pegar um sistema de terceiros…as coisas já estão lá daquele jeito.
Mas vou ver o que conseguimos fazer…obrigado mais uma vez.