Eclipse - Código compartilhado em diferentes projetos

Bom dia pessoal, preciso de ajuda de vocês.

Possuo vários projetos, todos eles no eclipse, e estou passando por um problema! Vários códigos são compartilhados, ou seja, em todos os projetos eu uso a classe Lib.java por exemplo, mas eu estou copiando esta classe para todos os projetos e quando eu faço alguma alteração nela eu saio atualizando em todos os projetos, isto dificulta demais.
Eu gostaria que ao atualizar esta classe já atualizasse em todos os lugares que ela foi usada, sem a necessidade de criar um jar dela ou copiar na mão.

No Visual Studio(.NET) você pode criar um projeto e vincular ele na Solution e colocá-lo como dependência para usá-lo, e todas as alterações neste projeto refletem em todos os lugares que ele estiver sendo usado.

É possível fazer isto no eclipse?

Obrigado.

OPa claro manolo, vc pode usar SVN (Eclipse Subversion), vc pode usar GIT (EGit) “Eu uso este”, pode usar Mercurial (HGE) enfim, acho que esses são os mais conhecidos!!!

SVN (Subversion): http://www.eclipse.org/subversive/
Git (Egit): http://www.eclipse.org/egit/
Mercurial (HGE): http://javaforge.com/project/HGE

Mickdark, obrigado pela resposta, mas não é isto.

eu preciso que uma classe esteja compartilhada em todos os projetos em que ela é usada, e não quero ficar copiando na mão, eu vi uns artigos na internet explicando como funciona o LinkedSource no eclipse, mas eu não consegui fazer.

você entendeu a minha necessidade?

Vc esta falando de apenas uma classe? Se for isto vc pode usar o Git, e marcar apenas a classe que vc quer compartilhar com o pessoal, cada um instala esse plugin e quando alguem fizer uma atualização nessa classe commita e cada um dos outros receberá a atualização (Para compartilhamento de código automático esse é o mais eficiente)

De qualquer modo os métodos que eu passei são exatamente pra isso que vc quer mesmo, vc só precisaria escolher o servidor de repositório!!!

Raiduster,

No seu projeto do Eclipse que você queria usar a sua classe, clique com o botão direito no projeto e vá em “Properties”. Depois clique em “Java Build Path” e selecione a guia “Source”. A partir daí, você pode inserir a pasta onde está a sua classe que queria usar. Esta é uma maneira simples, há outras, mas acho que te resolve.

Facholi, eu fiz isto, mas a pasta que eu importei fica fora da pasta /src/ e as minhas classes não conseguem enxergá-la.

Como resolvo isto?

Olha só, fiz um exemplo bem simples para você seguir:

Tenho 2 projetos java do Eclipse: ProjetoA e ProjetoB.

O ProjetoA, é o que contém a classe(ClasseDoProjetoA) que eu quero usar em outros projetos(no caso vou usar no ProjetoB).

No ProjetoB, clico com o direito, “Properties” > “Java Build Path” > guia “Source”.
Neste momento, só vai haver na lista “ProjetoB/src”, que é o source folder do ProjetoB. Quero adicionar outro “source”, no caso, o source do ProjetoA:
Clico em “Link Source…”, em "Linked folder location: " clico em “Browse…” e encontro a pasta do ProjetoA e clico na pasta “src”.
No meu “Linked folder location:” ficou “/Users/facholi/Development/workspace/ProjetoA/src”.
Basta alterar o “Folder name:” e pronto!

1 curtida

Crie um projeto com as classes que deseja compartilhar e, nas propridades dos projetos em que deseja ter acesso a essas classes, marque o projeto delas como dependência.

Seria algo assim:

  • ProjetoCompartilhado
    |-- Suas classes
  • ProjetoA
    |-- Dependência: ProjetoCompartilhado
  • ProjetoB
    |-- Dependência: ProjetoCompartilhado

Você também pode criar uma lib (seria até melhor) e adicioná-la como dependência nos projetos. A partir daí pode até até colocá-la em um repositório interno de bibliotecas (Maven por exemplo) e por aí vai…

1 curtida