Importando um projeto Maven para o Eclipse do Git

100

Como posso obter o efeito de escolher importar do Maven e do Git e fazer com que o Eclipse gere meu projeto corretamente?

Para colocar meu projeto no Eclipse, posso escolher Arquivo-> importar-> maven e, em seguida, obtenho todos os projetos Maven importados e posso construir bem, ou posso escolher Arquivo-> importar-> git e fazer um novo projeto que ignora o pom .xml e não gera o projeto corretamente.

Parece que posso fazer um ou outro, mas não combinar os dois, então consigo um projeto gerado corretamente.

Arthur Ulfeldt
fonte

Respostas:

103

Eclipse Indigo + M2Eclipse 1.0 torna isso muito fácil.

Se você ainda não tem o conector Git para M2Eclipse, instale-o. M2Eclipse irá ajudá-lo, avisando sobre o menu Import.

  1. Selecione o menu de contexto "Importar ..." na visualização do Package Explorer
  2. Selecione a opção "Verificar projetos Maven de SCM" na categoria Maven
  3. Na janela que se apresenta escolha o link "Encontre mais conectores SCM no m2e Marketplace
  4. Encontrar conector para Git ... instalar ... reiniciar

Observe que na caixa de pesquisa pode ser necessário inserir "EGit" em vez de "Git" para encontrar o conector correto.

Feito isso, basta ir ao repositório EGit, abrir o menu de contexto para o diretório de trabalho e selecionar "Importar projetos Maven ...".

Feito!

Sri Sankaran
fonte
4
Eu fiz isso no Indigo, mas no Juno há atualmente um bug que impede que o SCM m2e-git seja instalado. bugs.eclipse.org/bugs/…
Codey McCodeface
1
@ medPhys-pl Esse parece ser um problema relacionado ao m2e e EGit e não ao Git em si.
Sri Sankaran
1
"fácil" é relativo. Todo o mercado de eclipse está uma bagunça , repostórios de maven são uma bagunça porque não rastreiam a compatibilidade, então você acaba com dezenas de cópias do pacote quase idêntico, e agora adicionar um "mercado m2e" não torna as coisas melhores .
QUIT - Anony-Mousse
1
@ Anony-Mousse: Concordo que "fácil" é relativo. No entanto, usei isso para descrever minha experiência ao abordar a questão original (importar para o Eclipse de um repositório Git). Suas queixas podem ser válidas, mas não são os problemas que estão sendo tratados.
Sri Sankaran
2
Há correção na Etapa 4, deve ser "..conector para EGit ..". Para ser específico, pesquise m2e-egit no mercado.
nanospeck de
41

Eu realizaria um clone do git por meio da linha de comando (fora do Eclipse) e, em seguida, usaria Arquivo -> Importar ... -> Projetos Maven existentes .

Seus projetos serão entendidos como usando Git e Maven. É a maneira mais rápida e confiável de importar IMO.

joelittlejohn
fonte
3
Sim, isso definitivamente funciona, mas o m2 mais recente finalmente conseguiu uma boa integração com git e svn. Como outros notaram, EGit 1.0.0, m2e 1.0 e m2e-egit 0.13 fornecerão git -> materialize mvn project para eclipse em uma única etapa.
thetoolman
Hmm, eu tive que clicar com o botão direito no projeto e usar "Equipe> Compartilhar Projeto", etc., para fazer o EGit reconhecer que é um projeto Git.
Brian McCutchon,
19

Etapa 1: Configurando o Eclipse

Em primeiro lugar, você precisará ter alguns plug-ins do Eclipse instalados. Portanto, use o recurso de instalação do software Eclipse IDE no menu suspenso de ajuda → Instale o novo software e adicione o link ao Site de software disponível e instale-o.

  1. Plug-in GIT (EGIT) - http://download.eclipse.org/egit/updates
  2. Plug-in Eclipse Maven (M2Eclipse) - http://download.eclipse.org/technology/m2e/releases
  3. Manipulador Maven SCM para EGit (m2e-egit)

    Instale a partir do M2E Marketplace (Configurações → Maven → Descoberta → Abrir catálogo e pesquise "m2e-egit")


Etapa 2: clonar o repositório

Clone (baixe) seus projetos Maven do Git

Verifique os projetos Maven não eclipse do Git (Arquivo → Importar .. → Maven → Verifique os projetos Maven do SCM)

Arquivo → Importar .. → Maven → Verificar projetos Maven do SCM

Agora adicione o link do repositório git ao campo URI do SCM. Em seguida, clique em Avançar e terminar.

Tharindu Rajarathna
fonte
18

No momento desta redação (atualizada), uma configuração de trabalho é a seguinte:

  1. Eclipse 3.8 (site de atualização do Eclipse Indigo)
  2. EGit 1.3.0 (site de atualização do Eclipse Indigo)
  3. m2e 1.0.200 (site de atualização do Eclipse Indigo)
  4. m2e-egit 0.14.0 (mercado m2e ao adicionar um conector)

Testado em Ubuntu Raring.

Você certamente pode "Importar" -> "Maven" -> "Verificar projetos Maven do SCM", e esta é a maneira mais rápida. No entanto, essa importação direta atualmente não oferece controle sobre o nome da pasta de repositório clonada. Você pode estar melhor trabalhando na visualização "Repositório Git" e realizar um "Clone de um repositório Git e adicionar o clone a esta visualização", seguido por "Importar projetos Maven" desse clone; o caminho mais longo seria fazer sua clonagem manual e então "Adicionar um Repositório Git local existente a esta visão", seguido novamente por "Importar Projetos Maven". Em qualquer caso, você tem controle total sobre a pasta clonada.

Um comentário final sobre um problema secundário que me fez chorar de frustração. Pelo que eu sei, se o repositório clonado estiver na raiz do seu espaço de trabalho Eclipse, e sua hierarquia de arquivos de projeto Maven tiver um POM em sua raiz, a importação desse projeto raiz irá renomear a pasta clonada (com o modelo que você escolheu, padrões para [artifactId]). Sem alterar a estrutura do projeto e sem manter os arquivos fora do espaço de trabalho, você pode facilmente contornar esse problema clonando em uma subpasta da pasta do espaço de trabalho.

Luca Geretti
fonte
13

Tenho testado isso para o meu projeto.

  1. Eclispe Indigo
  2. "Ajuda> Instalar novo software" Habilite / instale os plug-ins oficiais do Git em "Eclipse Git Plugin .." e instale o lote.
  3. Habilite o conector Maven / EGit com estas instruções. Como você faz a integração git funcionar com m2eclipse?
  4. Mude para a perspectiva do Repositório Git. Clique com o botão direito e cole o url do git do projeto. Todos os padrões devem funcionar. Você pode querer alterar a pasta de instalação que ele adivinha.
  5. Expanda o repositório clonado e clique com o botão direito em "Working Tree" e selecione "Import Maven Projects ...".
  6. Mude para a perspectiva Java. Clique com o botão direito no projeto e escolha "Equipe> Compartilhar Projeto". Selecione "Git" e certifique-se de marcar a caixa "Usar ou criar repositório na pasta pai do projeto".
simbo1905
fonte
1
Sim, eu fiz o mesmo. Não entenda porque m2e-egit não executa o passo 6. automaticamente.
xmedeko
6

Esta é minha solução alternativa, esta é uma solução para estes problemas:

  • Você não pode instalar m2e-egit (recebo um erro no Juno)
  • Converter um projeto geral (conectado ao seu repositório Git) em um projeto Maven não está funcionando para você (a etapa Importar projetos Maven parece essencial)
  • Importar projetos Maven de seu repositório no sistema de arquivos não está mostrando o projeto conectado ao Git.

  1. Configure seu repositório Git na perspectiva Git Repository Exploring .
    • Mude para a perspectiva Java, Importar> Projetos Maven Existentes
    • Navegue até o check-out do Git no sistema de arquivos, selecione o diretório que contém o arquivo pom.xml. Conclua a importação; você notará que esses projetos não estão conectados ao Git. :-(
    • Exclua esses projetos, mas NÃO EXCLUA DO SISTEMA DE ARQUIVOS . Não queremos nosso clone excluído; esta tarefa também deixa o arquivo .project para trás para que possamos importar na próxima etapa.
  2. Volte para a perspectiva Git Repository Exploring .
    • Clique com o botão direito em seu repositório, Importar Projetos ...
    • Selecione Importar projetos existentes
    • No explorador abaixo, navegue até o diretório que contém o pom.xml (e o arquivo .project) e selecione-o e clique em Avançar.
    • Continue com o assistente.
Arlo
fonte
No Eclipse Luna, funcionou após a etapa 1.2 (o projeto foi conectado ao Git após a primeira importação).
PJ_Finnegan
4

Importe sem instalar nenhum conector adicional para Mylyn:

  1. Git RepositoriesVisualização aberta (Janela-> Mostrar visualização-> Repositórios Git)
  2. Pressione o Clone a Git Repositorybotão e prossiga com todas as etapas
  3. Na expansão do repositório recém-criado Working Directory, clique com o botão direito na pasta com o seu projeto e selecione Import Projects. Em seguida, escolha Import existing projectsou selecione Import as general project. Se necessário, após a importação, clique com o botão direito do mouse em seu projeto e selecione Configurar-> Converter para Projeto Maven (e Mav-> Atualizar Projeto).
Kolobok
fonte
3

Você deve observar que colocar os metadados gerados sob controle de versão (seja git ou qualquer outro scm) não é uma idéia muito boa se houver mais de um desenvolvedor trabalhando na base de código. Dois desenvolvedores podem ter uma configuração de projeto ou caminho de classe totalmente diferente. Apenas para avisar caso você pretenda compartilhar o código em algum momento ...

Peter Hägg
fonte
2

Eu tenho um projeto maven com três submódulos que é gerenciado em git. Eu os configurei em eclipse da seguinte maneira:

  1. Eu registrei o repositório git com eclipse usando EGit
  2. Importei os projetos como projetos Maven existentes
  3. Para cada projeto, fui Team | Compartilhe o projeto .
Tom Norton
fonte
1

Eu preferiria importar projetos para o Eclipse como mavenprojetos em vez de gitprojeto. Fazer isso ainda permitirá que o conteúdo do projeto seja reconhecido como conteúdo git. Você pode continuar a realizar operações git no Eclipse. Como você mencionou, o inverso não é verdade.

A natureza de um projeto no Eclipse não é baseada no SCM que contém o projeto, mas no tipo de projeto - se war ou jar, etc. - que é determinado automaticamente quando o projeto é importado como projeto maven.

Eu hesitaria em fazer check-in nos metadados específicos do SCM IDE. Fazer isso pressupõe muitas coisas - todos os desenvolvedores estão usando o mesmo IDE ou versão do IDE, talvez a mesma versão do JDK / JRE, que continuam a usar a mesma versão durante todo o ciclo de vida do projeto e assim por diante.

Raghuram
fonte
1

Você não pode importá-lo como um projeto git e depois (se você tiver o m2eclipse instalado) clique direito sobre o projeto no Package Explorer > Maven> Enable Dependency Management?

dimitrisli
fonte
1
Se não estiver visível e você tiver o m2e instalado, abra o arquivo .project e adicione a natureza maven2 você mesmo: <name> org.eclipse.m2e.core.maven2Builder </name>
dimitrisli
1

Depois de verificar meu branch no Egit, mudei para a visualização Java, usei Arquivo -> Importar, Git -> Projetos do Git e selecionei o diretório maven de nível superior. Isso foi com Eclipse Kepler.

Randy
fonte
-3

Em vez de gerar metadados do projeto constantemente por meio do comando import-> maven, você pode gerar os metadados do projeto uma vez e colocá-los no repositório git junto com o resto do código-fonte. Depois disso, usar o comando import-> git importará um projeto habilitado para o maven adequado, assumindo que você tenha as ferramentas do maven instaladas.

Certifique-se de colocar no sistema de controle de origem todos os arquivos no diretório do projeto que começam com '.' como .classpath e .project junto com todo o conteúdo do diretório .settings.

Konstantin Komissarchik
fonte