Maven projesini Git'ten Eclipse'e içe aktarma


100

Hem Maven hem de Git'ten içe aktarmayı seçmenin etkisini nasıl elde edebilirim ve Eclipse'in projemi düzgün bir şekilde oluşturmasını sağlayabilirim?

Projemi Eclipse'e almak için Dosya-> içe aktar-> maven'i seçebilirim ve ardından tüm Maven projelerini içe aktarabilirim ve iyi inşa edebilirim veya Dosya-> içe aktar-> git'i seçip pomu yok sayan yeni bir proje yapabilirim .xml ve projeyi düzgün oluşturmaz.

Görünüşe göre birini veya diğerini yapabilirim ama ikisini birden birleştiremiyorum, böylece doğru oluşturulmuş bir proje elde ederim.

Yanıtlar:


103

Eclipse Indigo + M2Eclipse 1.0 bunu çok kolaylaştırır.

M2Eclipse için Git bağlayıcınız yoksa kurun. M2Eclipse, İçe Aktar menüsünde sizi yönlendirerek size yardımcı olacaktır.

  1. Paket Gezgini görünümünden "İçe Aktar ..." bağlam menüsünü seçin
  2. Maven kategorisi altında "SCM'den Maven projelerine göz atın" seçeneğini seçin
  3. Açılan pencerede "m2e Marketplace'te daha fazla SCM konektörü bulun" bağlantısını seçin
  4. Git için bağlayıcı bul ... yükle ... yeniden başlat

Doğru konektörü bulmak için arama kutusuna "Git" yerine "EGit" girmeniz gerekebileceğini unutmayın.

Bunu yaptıktan sonra, EGit havuzuna gidin, Working dizini için bağlam menüsünü açın ve "Maven projelerini içe aktar ..." seçeneğini seçin.

Bitti!


4
Bunu Indigo'da yaptım ancak Juno'da şu anda m2e-git SCM'nin kurulmasını engelleyen bir hata var. bugs.eclipse.org/bugs/…
Codey McCodeface

1
@ medPhys-pl Bu, Git'in kendisi ile değil m2e ve EGit ile ilgili bir sorun gibi görünüyor .
Sri Sankaran

1
"kolay" görecelidir. Tüm tutulma pazarı tam bir karmaşa , maven depoları bir karmaşa çünkü uyumluluğu izlemiyorlar, bu nedenle neredeyse aynı paketin düzinelerce kopyasını elde ediyorsunuz ve şimdi bir "m2e pazarı" eklemek işleri daha iyi hale getirmiyor .
ÇIKTI - Anony-Mousse

1
@ Anony-Mousse: "Kolay" ın göreceli olduğuna katılıyorum. Ancak bunu, orijinal soruyu ele alma deneyimimi açıklamak için kullandım (bir Git deposundan Eclipse'e aktarım). Sıkıntılarınız geçerli olabilir, ancak ele alınan sorunlar değil.
Sri Sankaran

2
4. Adımda düzeltme var, ".. EGit .. için bağlayıcı" olmalıdır. Pazar yerinde spesifik arama m2e-egit olmak.
nanospeck

41

Komut satırı üzerinden (Eclipse dışında) bir git klonu gerçekleştirir ve ardından Dosya -> İçe Aktar ... -> Mevcut Maven Projelerini kullanırdım .

Projeleriniz Git ve Maven kullanıyormuş gibi anlaşılacak. IMO'yu içe aktarmanın en hızlı ve en güvenilir yolu.


3
Evet, bu kesinlikle işe yarıyor, ancak yeni m2 sonunda git ve svn ile güzel bir entegrasyon elde etti. Diğerlerinin de belirttiği gibi, EGit 1.0.0, m2e 1.0 ve m2e-egit 0.13 size tek adımda tutulmak için git -> mvn projesini gerçekleştirmenizi sağlayacaktır.
thetoolman

Hmm, EGit'in bir Git projesi olduğunu anlamasını sağlamak için projeye sağ tıklayıp "Takım> Projeyi Paylaş" vb. Kullanmam gerekti.
Brian McCutchon

19

1. Adım: Eclipse'i Kurmak

Öncelikle, birkaç Eclipse eklentisinin kurulu olması gerekir. Bu nedenle, yardım açılır menüsündeki tutulan IDE yazılım yükleme özelliğini kullanın → Yeni yazılım kurun ve Kullanılabilir Yazılım Sitesine bağlantı ekleyin, ardından kurun.

  1. GIT eklentisi (EGIT) - http://download.eclipse.org/egit/updates
  2. Eclipse Maven eklentisi (M2Eclipse) - http://download.eclipse.org/technology/m2e/releases
  3. EGit için Maven SCM İşleyicisi (m2e-egit)

    M2E Marketplace'den yükleyin (Ayarlar → Maven → Keşif → Kataloğu açın ve "m2e-egit" araması yapın)


Adım 2: Depoyu klonlayın

Maven Projelerinizi Git'ten klonlayın (indirin)

Git'ten tutulmayan Maven Projelerine göz atın (Dosya → İçe Aktar .. → Maven → SCM'den Maven Projelerine Göz Atın)

Dosya → İçe Aktar .. → Maven → SCM'den Maven Projelerine Göz Atın

Şimdi git deposu bağlantınızı SCM URI alanına ekleyin ve ardından ileri & bitir'e tıklayın.


18

Bu (güncellenmiş) yazı itibariyle, çalışan bir kurulum şu şekildedir:

  1. Eclipse 3.8 (Eclipse Indigo güncelleme sitesi)
  2. EGit 1.3.0 (Eclipse Indigo güncelleme sitesi)
  3. m2e 1.0.200 (Eclipse Indigo güncelleme sitesi)
  4. m2e-egit 0.14.0 (bir bağlayıcı eklerken m2e pazarı)

Ubuntu Raring'de test edildi.

Kesinlikle "İçe Aktar" -> "Maven" -> "Maven Projelerini SCM'den Kontrol Edebilirsiniz" ve bu en hızlı yoldur. Ancak, bu tür bir doğrudan içe aktarma şu anda size klonlanmış depo klasörü adı üzerinde denetim sağlamaz. "Git Deposu" Görünümünden çalışmanız daha iyi olabilir ve "Git Deposundan bir klonlayın ve klonu bu görünüme ekleyin" ve ardından bu klondan bir "Maven Projelerini İçe Aktar"; en uzun yol manuel klonlama yapmak ve ardından "Bu görünüme mevcut bir yerel Git Deposunu ekle" ve ardından tekrar "Maven Projelerini İçe Aktar" yapmaktır. Her iki durumda da klonlanan klasör üzerinde tam kontrole sahip olursunuz.

Beni hayal kırıklığı içinde ağlatan bir yan konu üzerine son bir yorum. Bildiğim kadarıyla, klonlanan depo Eclipse çalışma alanınızın kökünde yer alıyorsa ve Maven proje dosyası hiyerarşinizin kökünde bir POM varsa, bu tür bir kök projeyi içe aktarmak klonlanmış klasörü yeniden adlandıracaktır (seçtiğiniz şablonla varsayılanlar to [artifactId]). Proje yapınızı değiştirmeden ve dosyaları çalışma alanınızın dışında tutmadan, çalışma alanı klasörünün bir alt klasörüne klonlayarak bu sorunu kolayca çözebilirsiniz.


13

Bunu projem için test ediyorum.

  1. Eclispe Indigo
  2. "Yardım> Yeni Yazılım Kur" "Eclipse Git Eklentisi .." de resmi Git eklentilerini etkinleştirin / yükleyin ve partiyi kurun.
  3. Bu talimatlarla Maven / EGit bağlayıcısını etkinleştirin m2eclipse ile git entegrasyonunu nasıl elde edersiniz?
  4. Git Deposu perspektifine geçin. Sağ tıklayın proje git url'sini yapıştırın. Varsayılanların tümü çalışmalıdır. Tahmin ettiği kurulum klasörünü değiştirmek isteyebilirsiniz.
  5. Klonlanmış depoyu genişletin ve "Çalışma Ağacı" na sağ tıklayın ve "Maven Projelerini İçe Aktar ..." ı seçin.
  6. Java perspektifine geçin. Projeye sağ tıklayın ve "Takım> Projeyi Paylaş" ı seçin. "Git" i seçin ve "Projenin ana klasöründe depo kullan veya oluştur" kutusunu işaretlediğinizden emin olun.

1
Evet, ben de aynısını yaptım. Neden m2e-egit'in 6. adımı otomatik olarak yapmadığını anlamayın.
xmedeko

6

İşte benim çözümüm, bu şu sorunlara bir çözüm:

  • M2e-egit kuramazsınız (Juno'da bir hata alıyorum)
  • Genel bir projeyi (Git deponuza bağlı) bir Maven projesine dönüştürmek sizin için çalışmıyor (Maven Projelerini İçe Aktar adımı gerekli görünüyor)
  • Dosya sistemindeki deponuzdan Maven Projelerini içe aktarmak, Git'e bağlı projeyi göstermiyor.

  1. Git deponuzu Git Deposu Keşfetme perspektifinde kurun .
    • Java perspektifine geçin, İçe Aktar> Mevcut Maven Projeleri
    • Dosya sisteminde Git kontrolünüze göz atın, pom.xml dosyasını içeren dizini seçin. İçe aktarma işlemini tamamlayın; bu projelerin Git'e bağlı olmadığını fark edeceksiniz. :-(
    • Bu projeleri silin, ancak FILESYSTEM'DEN SİLMEYİN . Klonumuzun silinmesini istemiyoruz; bu görev, bir sonraki adımda içe aktarabilmemiz için .project dosyasını da geride bırakır.
  2. Geri dönün Git Deposu Keşfetme perspektifine .
    • Deponuza sağ tıklayın, Projeleri İçe Aktar ...
    • Seçiniz Mevcut projeleri içe aktar'ı
    • Aşağıdaki gezginde, pom.xml (ve .project dosyasını) içeren dizine göz atın ve bu dizini seçin, ardından ileriyi tıklayın.
    • Sihirbaza devam edin.

Eclipse Luna'da adım 1.2'den sonra çalıştı (proje ilk içe aktarımdan sonra Git'e bağlandı).
PJ_Finnegan

4

Mylyn için herhangi bir ek bağlayıcı yüklemeden içe aktarın:

  1. Açık Git Repositoriesgörünüm (Pencere-> Görünümü göster-> Git Depoları)
  2. Düğmesine basın Clone a Git Repositoryve tüm adımlarla devam edin
  3. Yeni oluşturulan depoda genişletin Working Directory, projenizin bulunduğu klasöre sağ tıklayın ve seçin Import Projects. Sonra ya seçin Import existing projectsya da seçin Import as general project. İçe aktardıktan sonra gerekirse projenize sağ tıklayın ve Yapılandır-> Maven Projesine Dönüştür (ve Maven-> Projeyi Güncelle) öğesini seçin.

3

Kod tabanı üzerinde çalışan birden fazla geliştirici varsa, üretilen meta verileri sürüm kontrolü altına koymanın (git veya başka bir scm olmasına izin verin) çok iyi bir fikir olmadığını unutmayın. İki geliştiricinin tamamen farklı bir projesi veya sınıf yolu kurulumu olabilir. Kodu bir süre paylaşmayı düşünmeniz durumunda bir uyarı olarak ...


2

Git'te yönetilen üç alt modüle sahip bir maven projem var. Onları şu şekilde tutulmaya ayarlıyorum:

  1. Git deposunu EGit kullanarak eclipse ile kaydettim
  2. Projeleri mevcut Maven Projeleri olarak ithal ettim
  3. Her proje için Ekip | Projeyi Paylaşın .

1

Ben Eclipse içine projeleri almak için tercih ediyorum mavenprojelerin yerinegit . Bunu yapmak, proje içeriklerinin git içeriği olarak tanınmasına izin verecektir. Eclipse'den git işlemlerini gerçekleştirmeye devam edebilirsiniz. Bahsettiğiniz gibi bunun tersi doğru değil.

Eclipse'deki bir projenin doğası, projeyi tutan SCM'ye değil, proje maven projesi olarak içe aktarıldığında otomatik olarak belirlenen projenin türüne (savaş veya kavanoz vb.) Dayanır.

SCM IDE'ye özgü meta verilere giriş yapmakta tereddüt ederdim. Bunu yapmak pek çok şeyi varsayar - tüm geliştiriciler aynı IDE'yi veya IDE'nin sürümünü, belki de JDK / JRE'nin aynı sürümünü, proje yaşam döngüsü boyunca aynı sürümü kullanmaya devam ettiklerini vb.


1

Eğer (eğer varsa o bir git projesi olarak içe ve sonra Can not m2eclipse projeye yüklü) sağ tıklayın Paketi Explorer > Maven> Enable Dependency Management?


1
Görünmüyorsa ve m2e yüklüyse, .project dosyasını açın ve maven2 niteliğini kendiniz ekleyin: <name> org.eclipse.m2e.core.maven2Builder </name>
dimitrisli

1

Egit'teki şubemi kontrol ettikten sonra Java Görünümüne geçtim, ardından Dosya -> İçe Aktar, Git -> Git'ten Projeler'i kullandım, ardından üst seviye maven dizinini seçtim. Bu Eclipse Kepler ile oldu.


-3

İmport-> maven komutu ile sürekli olarak proje meta verileri oluşturmak yerine, proje meta verilerinizi bir kez oluşturabilir ve bunu kaynak kodunuzun geri kalanıyla birlikte git deponuza yerleştirebilirsiniz. Bundan sonra, import-> git komutunu kullanmak, maven araçlarının kurulu olduğunu varsayarak, uygun bir maven etkin projeyi içe aktaracaktır.

Proje dizininde '.' İle başlayan tüm dosyaları kaynak kontrol sistemine yerleştirdiğinizden emin olun. .settings dizininin tüm içeriğiyle birlikte .classpath ve .project gibi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.