Warning no Eclipse 2.1

Pessoal,

Todos os projetos que estamos utilizando no Eclipse 2.1 apresentam um warning do tipo:
“A cycle was detected in the classpath of project:…”

Os projetos estão compartilhados em um repositório CVS, num servidor remoto.

Isso não tem nos impedido de continuar desenvolvendo, mas é muito chato permanecer recebendo os warnings.

O que podemos fazer?

grato

Se eu não me engano isso acontece porque você tem o mesmo jar definido em dois lugares difernetes no classpath do eclipse ou do projeto.

Realmente, todos os projetos compartilham 2 arquivos .jar de classes externas. Mas mesmo configurando um projeto para acessar seus próprios .jar, ele não ficou imune aos warnings.

Há o fato de que os projetos são dependentes entre si.

Então, ao que parece, a referência circular se dá porque um projeto acessa classes externas em arquivos .jar que também são acessadas por outros projetos dos quais este (projeto) depende.

Assim, o problema seria no acesso a classes, e não aos .jar propriamente ditos, certo? Ou eu estou “viajando na maionese”? :slight_smile:

Fiz o seguinte:

Num dos projetos, propriedades/“Java Build Path”, desabilitei os projetos dos quais ele depende.
O “Warning” sumiu, pois as classes redundantes localizadas nos arquivos .jar compartilhados não mais causavam “Cycle”.
Claro que apareceu um porrilhão de erros, por causa das classes faltantes dos outros projetos, mas pelo menos, aparentemente, deu pra entender o processo do Cycle.

Agora outra pergunta:
Posso continuar a trabalhar sem ter medo de o Eclipse de repente parar por causa desses warnings?

Pode, mas quando você usa um projeto, o classpath dele não vem junto não?

Deixa ver se eu entendi… Quando eu “uso” um projeto dentro de outro, você perguntou se o classpath do projeto usado vem para dentro do projeto que o usou? :slight_smile:

Deixa ver se eu entendi… Quando eu “uso” um projeto dentro de outro, você perguntou se o classpath do projeto usado vem para dentro do projeto que o usou? :-)[/quote]

É, eu nunca usei isso, mas não é assim que funciona não?

Aparentemente é exatamente isso que acontece.
A referência cruzada se dá porque um projeto que é usado por outro trás consigo as referências a pacotes, classes externas, jar, etc. Por isso o warning de “cycle” existe, para avisar que o projeto atual está acessando classes em sua classpath, e o projeto usado também está acessando as mesmas classes (elas podem até estar gravadas em locais distintos).
Até agora isso não causou maiores problemas, além da presença dos itens em “tasks” (1 warning para cada projeto do workspace).

Não sei também se o caso é por causa de “defeito” na arquitetura dos projetos, que foram criados com tantas referências cruzadas, ou se isso é normal e eu é que estou me preocupando à toa. Afinal, são projetos enormes que não posso simplesmente mudar de um dia pro outro (e nunca vai haver tempo suficiente para isso…).
Engraçado que no Visual Age (nossa plataforma de trabalho anterior) esse tipo de warning não aparecia… Só que o bicho era um dinossauro e não tivemos como evitar a migração para o Eclipse :slight_smile: