2012-10-20 18 views
5

Birçok proje, org.jdt.core kavanozunu lib folder içine koyduğundan, bir maven deposunda bulunmadığını fark ettim. sbt, kullanıyorum yapı aracı, bir URL'den doğrudan bir bağımlılık çekebilir. Ancak, eclipse indirme sayfasındaki kavanoza doğrudan bağlantı bulamıyorum. Ben bulabilir kapatır birçok kavanoz dosyaları içeren tüm jdt zip için bir bağlantıdır. Sbt'nin bir bağımlılıktan bir kavanoz çıkarabileceğine inanmıyorum. Doğrudan bir bağlantı mı yoksa başka bir geçici çözüm var mı?eclipse.jdt.core kavanozuna doğrudan bir bağlantı var mı?

cevap

14

İstediğiniz sürümün bir depoda olup olmadığına bağlı olarak değişir. org.eclipse.jdt.core için

:

Tycho proje merkezi için org.eclipse.jdt.core bazı sürümlerini dağıtmak gibi görünüyor. Bkz:

http://central.maven.org/maven2/org/eclipse/tycho/org.eclipse.jdt.core/ 

Ben search.maven.org kullanarak bulundu. Bunlardan biri ihtiyaçlarınız için yeterince iyi olabilir. Ama 'resmi' ikililere sahip değiller, sadece yeniden inşa ediyorlar.

(. Orada da bazı eserler için yararlı olabilecek bir maven.eclipse.org, var Ama görünmüyor eğer belirli sorunu uyacak bir şey olmasını unutmayın.)

genel durum için:

Genel olarak, tüm tutulma eserlerini maven depolarında bulamıyor olsanız da. Yani bir maven repo'da ne istediğinizi bulamazsanız, Eclipse p2 depolarında kendiniz bulmanız gerekir. , 3.8.1

Eclipse Project Update Sites wiki sayfası 3.8.x için güncelleme site aslında 3.8 için bir 'karma' p2 deposu var

http://download.eclipse.org/eclipse/updates/3.8 

diyor ... Diyelim ki Eclipse 3.8.1 için org.eclipse.jdt.core istediğinizi varsayalım , ... Sonra sıra 3.8.1 deposunun adını bulmamız gerekiyor. Aşağıdaki çocuk depoları listeler compositeArtifacts.xml içeren bir kavanoz dosyası, bir getirmektedir ve 3.8.1 için greps:

curl -s http://download.eclipse.org/eclipse/updates/3.8/compositeArtifacts.jar | \ 
    gunzip -c | \ 
    grep '3\.8\.1' 

sonuç? Bu konum bir göreli yoldur. Bu

http://download.eclipse.org/eclipse/updates/3.8/R-3.8.1-201209141540/ 

Şimdi bu depo için yapay endeksini getirmek için en 3.8.1 deposudur söyler. Yine, bir kavanozda tek bir XML dosyası. Ama bu kez, bir kompozit depo değil, öyleyse biz sadece artifacts.jar sormak:

curl -s http://download.eclipse.org/eclipse/updates/3.8/R-3.8.1-201209141540/artifacts.jar | \ 
    gunzip -c | \ 
    grep org.eclipse.jdt.core[\'\"] | \ 
    sort -u 

Sonuç:

<artifact classifier='osgi.bundle' id='org.eclipse.jdt.core' version='3.8.2.v20120814-155456'> 

(3.8.1 yılında org.eclipse.jdt.core sürüm 3.8 başlayarak neden emin değilim .2, ama bu şekilde.Hadi basalım…)

Artık URL'yi, yalnızca aldığımız artifacts.xml dosyasındaki <mappings> öğesine göre birlikte ekleyebiliriz. Depo yoluna 'eklentileri /' ekleyin; eklenti adının sürümünü ekleyebilir ve sonra onu getirebilir:

curl -Os http://download.eclipse.org/eclipse/updates/3.8/R-3.8.1-201209141540/plugins/org.eclipse.jdt.core_3.8.2.v20120814-155456.jar 

Kendinizi sadece bir veya iki kavanoz, sen eserler çözmek için Tycho veya Eclipse p2 Ant tasks kullanarak içine görünebilir daha fazlasına ihtiyaç duyuyorsa bulursanız sbt yapınızı çalıştırmadan önce bir lib klasörüne ihtiyacınız var.

+0

Dinamit yanıtı, teşekkürler. Tycho maven repo benim için yeterince iyi, çünkü bulamadığım 3.8.x, geri kalanı da buz gibi! –

+0

Bu harika bir cevaptı. Teşekkür ederim! – awied

İlgili konular