sábado, 20 de novembro de 2010

Instalando o Plugin do SVN no Eclipse

Para quem usa o Eclipse e o SVN, provavelmente não é novidade que se tenha algum problema ao instalar o plugin... o fato é que, apesar de o Eclipse ser uma excelente IDE (tanto para desenvolvimento Java como para Web, C, C++, Phyton, e milhares de outras linguagens), ele não vem com um plugin para o SVN por padrão (vem apenas com o plugin do CVS), e a gente tem que instalar manualmente o plugin de nossa preferência.
Este artigo ensina como se instalar o plugin Subclipse, que considero ser o mais fácil de se instalar e usar. As instruções foram testadas no Eclipse Galileo e Helios, utilizando o SVN Server versão 1.6 no servidor (todas as versões mencionadas são bem atuais, no momento de criação deste artigo). Note que tratamos, aqui, apenas da parte cliente. A parte servidora, ou seja, a instalação e configuração do SVN, já foi tratada em diversos outros artigos deste portal, como este e este.
É importante saber qual versão do SVN instalada no servidor que você usa, uma vez que os clientes de SVN, como o plugin do Eclipse, que funcionam localmente, precisam de um driver para falar com o servidor, e este driver é específico para cada versão.

  • Como descobrir a versão de meu SVN Server??
Bem simples. Acesse a máquina servidora onde o seu Subversion (servidor) está instalado e digite "svnserve --version" ou "svnadmin --version". Observe a primeira linha da saída de texto:

$ svnserve --version
svnserve, version 1.6.6 (r40053) compiled Dec 12 2009, 05:06:12

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

  • Preparando para Instalar o Plugin do Eclipse

Para todas as operações daqui para frente você deverá ter um JDK (Java Development Kit) instalado em sua máquina. Caso não o tenha, você poderá baixá-lo gratuitamente aqui.
Supomos que você baixou o Eclipse do site oficial (http://www.eclipse.org/), e que é a versão correta para seu sistema e sua arquitetura (32 ou 64 bits). Recomendo que baixe a compilação mais completa, com as ferramentas de JEE, uma vez que elas poderão ser muito úteis, mesmo que você inicialmente não vá desenvolver para web. Agora basta descomprimir o Eclipse e colocá-lo em uma pasta acessível.
Para rodar o programa, basta rodar o seu executável dentro de sua pasta padrão (não é necessária qualquer processo de instalação prévio):

cd eclipse
./eclipse

A instalação do plugin é feita de dentro do Eclipse mesmo, acessando o menu HELP, opção "Install New Software...", conforme mostra a Figura 1.


Figura 1: Menu Help do Eclipse Helios.

Acessando esta opção, entramos na ferramenta de atualização e instalação de novos plugins para o Eclipse. Virtualmente qualquer coisa pode ser instalada ou removida de seu Eclipse nesta tela. Portanto, tome cuidado ao mexer nestes componentes, pois não é tão difícil "quebrar" as dependências dos plugins e corromper o seu Eclipse.


  • Instalando o Subclipse, SVN Plugin para o Eclipse

Na tela de instalação de novos plugins, alcançada no item anterior, precisamos adicionar o repositório na rede onde encontraremos o plugin de que precisamos. Alguns repositórios já existirão na lista de repositórios desta janela, mas são os repositórios padrão do Eclipse, e não de outros plugins desenvolvidos por terceiros. Note que, nestes repositórios padrão, existe o plugin Subversive, que tem funcionalidades análogas ao Subclipse, sendo uma alternativa a este. Nunca instale os dois!! Este artigo, contudo, limita-se apenas ao Subclipse.
O repositório correto poderá ser encontrado na própria página do Subclipse, item Download and Install. Para ajudá-lo, já copiei o endereço do repositório aqui:

http://subclipse.tigris.org/update_1.6.x

Este endereço é acrescentado clicando-se no botão "Add". Uma vez acrescentado, o repositório é lido (se você estiver conectado à internet, claro!!), e as opções aparecerão na janela principal. Vide Figura 2 (clique para aumentar!).


Figura 2: tela de atualização e instalação de novos plugins do Eclipse, com o repositório do Subclipse adicionado e sendo lido.

Neste momento, basta se saber selecionar os itens corretos e deixar que o próprio Eclipse encontre os plugins, baixe-os e instale-os automaticamente para você!! Assim, para que tudo funcione, selecione os itens:

Aba "Subclipse", item "Subclipse";
Aba "Subclipse", item "Subversion Client Adapter";
Aba "Subclipse", item "SVNKit Client Adapter".

E, para o driver do subversion:
Aba "Core SVNKit Library", item "SVNKit Library".

- Clique em "Next";
- Confirme os plugins, clicando em "Next" novamente;
- Aceite os termos da licença e conclua a operação, aguardando o término do download.

Após o download e instalação completos, o Eclipse pedirá que seja reiniciado. Procure reiniciar apenas se seus trabalhos estão todos salvos.
Se, em algum momento deste procedimento, surgir uma mensagem dizendo que você está instalando um software que não foi verificado ("Warning: You are installing software that contains unsigned content. Blá blá blá blá..."), ignore-a. O procedimento está correto, a despeito disto...


  • Testando a Instalação

Se o Eclipse reiniciou corretamente, provavelmente estará tudo pronto. Para verificar se o Subclipse foi instalado corretamente, selecione a perspectiva que lhe é característica: acesse o menu WINDOW, opção "Open Perspective". Selecione "Other" e escolha a perspectiva "SVN Repository Exploring", exatamente como está na Figura 3:


Figura 3: Abrindo a perspectiva do Subclipse.

Esta perspectiva deve existir na lista. Caso não haja, alguma coisa ficou faltando...
Abrindo a perspectiva, você poderá instalar um repositório, seguindo o item abaixo.


  • Instalando um Repositório

Um repositório é o local remoto onde está o banco de dados do SVN, contendo seus dados versionados. Vide os tutorias anteriores do Pajé sobre SVN para aprender mais sobre repositórios, SVN e a parte servidora (referenciados no caput deste artigo).
Para instalar um repositório, abra a perspectiva do SVN (conforme mostrado no item anterior) e clique com o botão direito no view "SVN Repositories". Selecione a opção "New" e sub-opção "Repository Location". Surgirá uma janela pedindo o local do repositório. Complete com os dados que você tem a respeito de seu repositório. Logo depois, uma nova janela perguntará dados adicionais, como o nome do usuário, a senha do usuário e a porta que deve ser acessada no servidor. Complete todas estas informações com os dados corretos da configuração de seu servidor (ou pergunte ao administrador da sua rede como ele configurou isso tudo...).
Uma última tela, que surge apenas no primeiro acesso, pede que você confirme o recebimento da chave de segurança, caso a conexão seja segura. É possível que surja, ainda, outra tela pedindo que repita o nome do usuário. Estas duas perguntas podem ou não ocorrer, dependendo da situação do seu servidor. Responda "Yes" para a primeira e complete a segunda sem sustos com os dados que você já tem.
Prontinho!!! Seu repositório está na lista!! Clique no ícone ao lado esquerdo do endereço, para abri-lo, escolha o projeto que deseja baixar e clique com o botão direito em cima da pasta, selecionando o comando checkout. Isto baixará seu primeiro projeto com esta instalação do cliente SVN.

Boa sorte!! Espero ter sido detalhista o suficiente para que todos que venham a este artigo consigam fazer a instalação com sucesso!! Lembrem-se que, como sempre, em qualquer artigo deste portal, é fundamental que COMENTEM!!

20 comentários:

Unknown disse...

Valeu Man.

Me ajudou bastante

O Pajé disse...

Obrigado pelo feedback, rapaz!! Boa sorte em tudo!!

Alexandre Martins disse...

Estava apanhando bastante para fazer esta instalação... Agora consegui .

Valeu pela ajuda !!!

O Pajé disse...

Que bom, rapaz!!
Sabe que muita gente que eu conheço tem vindo neste artigo para não ter que ficar quebrando a cabeça toda a vez que tem q instalar o plugin do SVN?? Isto acontece porque nem sempre as bibliotecas nativas funcionam, e isso pode atrapalhar o Connector a ponto de ficar impossível usar SVN com Eclipse... segundo os passos acima, qualquer um consegue instalar certinho e sem susto!!

Jhonatan disse...

Melhor tutorial que já encontrei na internet. Muito detalhista, deu tudo certo parceiro!



Obrigado!

O Pajé disse...

Muito obrigado, Jhonatan!! Fico muito feliz com seu elogio, como também pela oportunidade de ter ajudado a você e a todos os colegas que nos visitam no pajeonline. Boa sorte e muito grato!!

Diego Sueiro disse...

Só consegui instalar e fazer funcionar no Eclipse Helios no Ubuntu depois de abrir o Eclipse com o comando sudo.

O Pajé disse...

Pode ser que algum arquivo de seu Eclipse esteja com usuário ou grupo root. Como você instalou o Eclipse?? Se foi pelo apt-get, então tem que fazer isto como superusuário mesmo. Caso contrário, verifique as permissões dos arquivos.
Em geral, eu sempre rodo o Eclipse como root.

Unknown disse...

Muito legal o artigo, coloquei pra funcionar em testes aqui na empresa.

O Pajé disse...

Obrigado, Ruither!! Fico feliz de ter podido ajudar!!

Anônimo disse...

Bom Dia galera,

Alguem saberia me dizer como fazer para que o eclipse possa enxergar um projeto JAVA que esta no svn como projeto elcipse, para que eu possa executa-lo?
Obrigado.

O Pajé disse...

Bom dia, rapaz!!

Esta pergunta é fácil!! Quando o Eclipse cria um projeto, para ele saber que tipo de projeto e qual a sua configuração, ele cria alguns arquivos ocultos que ficam na raíz do projeto, a saber:

.project - indica que projeto é esse e como compilá-lo.
.classpath - indica onde (em que pasta) estão os fontes do projeto, para onde (para que pasta) ele deve ser compilado e quais as bibliotecas que ele usa.

Assim, se o seu projeto não é do Eclipse, vc pode criar estes arquivos não mão (são apenas arquivos XML). Contudo, vc pode também criar um projeto novo no Eclipse, através da ferramenta Wizard de criação de projetos que o Eclipse tem, configurado conforme o projeto que vc quer baixar. Daí, posteriormente, vc pode sobrescrever os dados do projeto novo com os que estão no SVN, preservando apenas estes arquivos de configuração.
Se vc está iniciando um projeto novo, então é sempre bom subir para o SVN os dois arquivos mencionados, de modo que outras pessoas, baixando pela primeira vez, consigam "enxergar" o projeto de dentro do Eclipse automaticamente.
Era essa a sua dúvida?? Deixe um comentário indicando se vc conseguiu resolver!!

Anônimo disse...

gostei muito do seu artigo, foi bem feito, mas estou com um probleminha, quando eu coloco a url do svn que eu preciso ele dá um erro:
Unable to read repository sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

O Pajé disse...

Olá amigo,

Eu precisaria de mais detalhes para saber o que houve de fato... Vc colocou exatamente a URL que está no artigo?? Verifique se não faltou nada, como o "http://" na frente. Verifique também a sua versão do Eclipse.
Há aí no seu texto um erro de certificado. Isto é estranho porque a URL não está protegida por SSL (senão seria "https://"). Talvez o erro seja este: tentar usar o protocolo "https" quando a URL na verdade é "http".

Gabriel disse...

Excelente!
Consegui resolver o problema que estava acontecendo aqui.

Tutorial muito bem feito!

Abraços!

O Pajé disse...

Obrigado, Gabriel!!
Torço que o Pajé Online continue sendo de grande valia!!
Abraços!!
Pajé

marcus disse...

Muito bom! Nem o suporte aqui da área ajudou tanto. hehee Valeu.

O Pajé disse...

Muito grato, Marcus!! Obrigado pelo retorno e espero que o Pajé Online continue ajudando sempre!!

Anônimo disse...

Boa tarde.
Segui os procedimentos acima e ao abrir o arquivo não consigo editá-lo.
Alguma dica?

O Pajé disse...

Olá amigo,

Poderia detalhar mais o problema que você está enfrentando? Em que passo do tutorial o procedimento não funcionou? Até onde você conseguiu fazer? Qual a mensagem de erro que você está recebendo?

Obrigado e abraços,

Pajé.