Importazione di un progetto Maven in Eclipse da Git


100

Come posso ottenere l'effetto di scegliere di importare sia da Maven che da Git e fare in modo che Eclipse generi correttamente il mio progetto?

Per ottenere il mio progetto in Eclipse posso scegliere File-> import-> maven e poi ottengo tutti i progetti Maven importati e posso costruire bene, oppure posso scegliere File-> import-> git e creare un nuovo progetto che ignori il pom .xml e non genera correttamente il progetto.

Sembra che posso fare l'uno o l'altro ma non combinare entrambi, quindi ottengo un progetto generato correttamente.

Risposte:


103

Eclipse Indigo + M2Eclipse 1.0 lo rende molto semplice.

Se non hai già il connettore Git per M2Eclipse, installalo. M2Eclipse ti aiuterà chiedendoti nel menu Importa.

  1. Selezionare il menu di scelta rapida "Importa ..." dalla vista Esplora pacchetti
  2. Seleziona l'opzione "Controlla i progetti Maven da SCM" nella categoria Maven
  3. Nella finestra che si presenta scegli il link "Trova altri connettori SCM nel Marketplace m2e
  4. Trova il connettore per Git ... installa ... riavvia

Nota che nella casella di ricerca potresti dover inserire "EGit" invece di "Git" per trovare il connettore giusto.

Fatto ciò, vai semplicemente al repository EGit, apri il menu contestuale per la directory di lavoro e seleziona "Importa progetti Maven ...".

Fatto!


4
L'ho fatto in Indigo ma in Juno attualmente c'è un bug che impedisce l'installazione di m2e-git SCM. bugs.eclipse.org/bugs/…
Codey McCodeface

1
@ medPhys-pl che sembra essere una questione di pertinenza M2E e EGit e non Git per sé.
Sri Sankaran

1
"facile" è relativo. L'intero mercato di eclissi è un disastro , i repository esperti sono un disastro perché non tengono traccia della compatibilità, quindi ti ritroverai con dozzine di copie del pacchetto quasi identico, e ora l'aggiunta di un "mercato m2e" non migliora le cose .
HA USCITO - Anony-Mousse

1
@ Anony-Mousse: sono d'accordo che "facile" sia relativo. Tuttavia l'ho usato per descrivere la mia esperienza nell'affrontare la domanda originale (importazione in Eclipse da un repository Git). Le tue lamentele possono essere valide ma non sono i problemi che vengono affrontati.
Sri Sankaran

2
C'è una correzione nel passaggio 4, dovrebbe essere "..connector for EGit ..". Per essere precisi, cerca m2e-egit sul mercato.
nanospeck

41

Vorrei eseguire un clone git tramite la riga di comando (al di fuori di Eclipse) quindi utilizzare File -> Importa ... -> Progetti Maven esistenti .

I tuoi progetti saranno intesi come utilizzo di Git e Maven. È il modo più veloce e affidabile per importare IMO.


3
Sì, questo funziona sicuramente, ma il nuovo m2 ha finalmente una buona integrazione con git e svn. Come altri hanno notato, EGit 1.0.0, m2e 1.0 e m2e-egit 0.13 ti daranno git -> materialize mvn project to eclipse in un solo passaggio.
theoolman

Hmm, ho dovuto fare clic con il pulsante destro del mouse sul progetto e utilizzare "Team> Condividi progetto", ecc., Per far sì che EGit riconoscesse che si tratta di un progetto Git.
Brian McCutchon

19

Passaggio 1: configurazione di Eclipse

Prima di tutto dovrai avere installato alcuni plug-in di Eclipse. Quindi usa la funzione di installazione del software IDE di eclipse nel menu a discesa della guida → Installa nuovo software e aggiungi il collegamento al sito del software disponibile, quindi installalo.

  1. Plugin GIT (EGIT) - http://download.eclipse.org/egit/updates
  2. Plugin Eclipse Maven (M2Eclipse) - http://download.eclipse.org/technology/m2e/releases
  3. Gestore Maven SCM per EGit (m2e-egit)

    Installa dal Marketplace M2E (Impostazioni → Maven → Discovery → Apri catalogo e cerca "m2e-egit")


Passaggio 2: clona il repository

Clona (scarica) i tuoi progetti Maven da Git

Controlla i progetti Maven non eclipse da Git (File → Importa .. → Maven → Controlla i progetti Maven da SCM)

File → Importa .. → Maven → Controlla i progetti Maven da SCM

Ora aggiungi il link del tuo repository git al campo URI SCM, quindi fai clic su Avanti e termina.


18

Al momento della stesura di questa (aggiornata), una configurazione funzionante è la seguente:

  1. Eclipse 3.8 (sito di aggiornamento di Eclipse Indigo)
  2. EGit 1.3.0 (sito di aggiornamento Eclipse Indigo)
  3. m2e 1.0.200 (sito di aggiornamento Eclipse Indigo)
  4. m2e-egit 0.14.0 (marketplace m2e quando si aggiunge un connettore)

Testato su Ubuntu Raring.

Puoi certamente "Importa" -> "Maven" -> "Controlla i progetti Maven da SCM", e questo è il modo più veloce. Tuttavia, tale importazione diretta attualmente non ti dà il controllo sul nome della cartella del repository clonato. Potrebbe essere meglio lavorare dalla vista "Git Repository" ed eseguire un "Clona da un repository Git e aggiungi il clone a questa vista", seguito da "Importa progetti Maven" da tale clone; il modo più lungo sarebbe eseguire la clonazione manuale e quindi "Aggiungi un repository Git locale esistente a questa vista", seguito di nuovo da "Importa progetti Maven". In entrambi i casi hai il pieno controllo sulla cartella clonata.

Un commento finale su una questione secondaria che mi ha fatto piangere per la frustrazione. Per quanto ne so, se il repository clonato si trova nella radice dell'area di lavoro Eclipse e la gerarchia dei file del progetto Maven ha un POM nella radice, l'importazione di tale progetto radice rinominerà la cartella clonata (con il modello scelto, le impostazioni predefinite a [artifactId]). Senza modificare la struttura del progetto e senza mantenere i file all'esterno dell'area di lavoro, è possibile aggirare facilmente questo problema clonando in una sottocartella della cartella dell'area di lavoro.


13

L'ho testato per il mio progetto.

  1. Eclispe Indigo
  2. "Aiuto> Installa nuovo software" Abilita / Installa i plug-in Git ufficiali in "Eclipse Git Plugin .." e installa il lotto.
  3. Abilita il connettore Maven / EGit con queste istruzioni Come si ottiene l'integrazione di git lavorando con m2eclipse?
  4. Passa alla prospettiva Git Repository. Fare clic con il tasto destro e incollare l'URL git del progetto. Le impostazioni predefinite dovrebbero funzionare tutte. Potresti voler cambiare la cartella di installazione che ipotizza.
  5. Espandi il repository clonato e fai clic con il pulsante destro del mouse su "Working Tree" e seleziona "Import Maven Projects ...".
  6. Passa alla prospettiva Java. Fare clic con il tasto destro sul progetto e scegliere "Team> Condividi progetto". Seleziona "Git" e assicurati di spuntare la casella "Usa o crea repository nella cartella principale del progetto".

1
Sì, ho fatto lo stesso. Non capire, perché m2e-egit non esegue il passaggio 6. automaticamente.
xmedeko

6

Ecco la mia soluzione alternativa, questa è una soluzione a questi problemi:

  • Non puoi installare m2e-egit (ricevo un errore in Juno)
  • La conversione di un progetto generale (connesso al tuo repository Git) in un progetto Maven non funziona per te (il passaggio Importa progetti Maven sembra essenziale)
  • L'importazione di progetti Maven dal tuo repository sul filesystem non mostra il progetto connesso a Git.

  1. Configura il tuo repository Git nella prospettiva Esplorazione del repository Git .
    • Passa alla prospettiva Java, Importa> Progetti Maven esistenti
    • Sfoglia il tuo checkout Git nel filesystem, seleziona la directory contenente il file pom.xml. Termina l'importazione; noterai che questi progetti non sono collegati a Git. :-(
    • Elimina questi progetti, ma NON ELIMINARE DA FILESYSTEM . Non vogliamo che il nostro clone venga eliminato; questa attività lascia anche il file .project in modo che possiamo importare nel passaggio successivo.
  2. Torna alla prospettiva Esplorazione del repository Git .
    • Fai clic con il pulsante destro del mouse sul repository, Importa progetti ...
    • Seleziona Importa progetti esistenti
    • Nell'explorer di seguito, individua e seleziona la directory contenente il file pom.xml (e .project), quindi fai clic su Avanti.
    • Continua con la procedura guidata.

In Eclipse Luna, ha funzionato dopo il passaggio 1.2 (il progetto è stato collegato a Git dopo la prima importazione).
PJ_Finnegan

4

Importa senza installare connettori aggiuntivi per Mylyn:

  1. Apri Git Repositoriesvista (Finestra-> Mostra vista-> Archivi Git)
  2. Premere il Clone a Git Repositorypulsante e procedere con tutti i passaggi
  3. Nel repository appena creato espandere Working Directory, fare clic con il tasto destro sulla cartella con il progetto e selezionare Import Projects. Quindi scegli Import existing projectso seleziona Import as general project. Se necessario, dopo l'importazione, fare clic con il pulsante destro del mouse sul progetto e selezionare Configura-> Converti in progetto Maven (e Maven-> Aggiorna progetto).

3

Dovresti notare che mettere i metadati generati sotto il controllo della versione (lascia che sia git o qualsiasi altro scm), non è una buona idea se c'è più di uno sviluppatore che lavora sul codebase. Due sviluppatori possono avere un progetto completamente diverso o una configurazione del percorso di classe. Proprio come un avvertimento nel caso in cui intendi condividere il codice in qualche momento ...


2

Ho un progetto Maven con tre sottomoduli che è gestito in git. Li ho impostati in eclipse come segue:

  1. Ho registrato il repository git con eclipse usando EGit
  2. Ho importato i progetti come progetti Maven esistenti
  3. Per ogni progetto, sono andato Team | Condividi progetto .

1

Preferirei importare i progetti in Eclipse come mavenprogetti piuttosto chegit progetto. Ciò consentirà comunque ai contenuti del progetto di essere riconosciuti come contenuti git. È possibile continuare a eseguire operazioni git da Eclipse. Come hai detto, non è vero il contrario.

La natura di un progetto in Eclipse non si basa sull'SCM che contiene il progetto, ma sul tipo di progetto - sia war o jar, ecc. - che viene determinato automaticamente quando il progetto viene importato come progetto Maven.

Sarei riluttante a fare il check-in ai metadati specifici dell'IDE di SCM. In questo modo si presuppone molte cose: tutti gli sviluppatori utilizzano lo stesso IDE o la stessa versione dell'IDE, forse la stessa versione di JDK / JRE, che continuano a utilizzare la stessa versione per tutto il ciclo di vita del progetto e così via.


1

Non puoi importare che come un progetto Git e poi (se avete la m2eclipse installato) fare clic destro sul progetto nel Explorer pacchetto > Maven> Enable Dependency Management?


1
Se non è visibile e hai m2e installato, apri il file .project e aggiungi tu stesso la natura di maven2: <name> org.eclipse.m2e.core.maven2Builder </name>
dimitrisli

1

Dopo aver controllato il mio ramo in Egit, sono passato alla visualizzazione Java, quindi ho utilizzato File -> Importa, Git -> Progetti da Git, quindi ho selezionato la directory di livello superiore maven. Questo è stato con Eclipse Kepler.


-3

Invece di generare costantemente metadati del progetto tramite il comando import-> maven, puoi generare i metadati del progetto una volta e posizionarli nel tuo repository git insieme al resto del codice sorgente. Successivamente, l'utilizzo del comando import-> git importerà un progetto abilitato per Maven, supponendo che siano installati strumenti Maven.

Assicurati di inserire nel sistema di controllo del codice sorgente tutti i file nella directory del progetto che iniziano con "." come .classpath e .project insieme all'intero contenuto della directory .settings.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.