2016-04-14 22 views
1

Eclipse Mars.2'yi (4.5.2) Buildship 1.0.14 ile kullanıyorum. Gradle sürümü 2.12'dir.Yüklemeyle Eclipse'deki Gradle Project Bağımlılıkları

Benim gradle projemi Eclipse'e alıyorum. .project veya .classpath dosyalarının içe aktarılması önce var. Tüm modüller başarıyla içe aktarıldı. Ancak java kodlu neredeyse her proje bağımlılıkları kaçırdı ve kırmızı "X" gösterdi.

Hatalı bir java dosyasını açarsanız, Eclipse'nin içe aktarmayı çözemeyeceğini görebilirsiniz. Ancak, içe aktarılan sınıfı ada göre açarsanız, diğer modülün bağımlılığında da bulabilirsiniz.

Not -> Proje yenileme işlemi yardımcı olmaz. Bu şekilde kökünden build.gradle ilan

gerekli bağımlılıkları:

ext.library = [ 
    swagger: [ 
      [ group: "io.swagger", name: "swagger-annotations", version: "1.5.3" ], 
      [ group: "io.swagger", name: "swagger-core", version: "1.5.3" ], 
      [ group: "io.swagger", name: "swagger-jaxrs", version: "1.5.3" ] 
    ] 
] 

ve modüllerde

böyle ilan:

dependencies { 
    providedCompile library.swagger 
} 

komut satırından hatta gelen gelen gradle build çalıştırdığınızda Eclipse, yapı başarılı.

Bu sorunu yeniden üretmeye yarayan küçük proje örneği, github numaralı telefondan bulunabilir (buna katılmak için RaGe'ye teşekkür ederiz).

Bu sorunu Eclipse ile çözmeme yardımcı olabilir misiniz?

+0

Hangi sınıf sürümünü kullanıyorsunuz? – RaGe

+0

Çapraz savaş eklentisi kullanıyor musunuz? – RaGe

+0

Gradle sürümü 2.12'dir. Evet, savaş eklentisi kullanılıyor. – dds

cevap

1

Kod örneğine başvurduğunuzda, here sağladınız.

Yoksa savaş eklenti kullanarak, ancak bunun yerine kendi özel yapılandırma providedCompile denilen ilan etmiyoruz. Gradle ve uzatma yoluyla, inşa/tutulma, providedCompile'un ne anlama geldiğini bilmez. Dolayısıyla, providedCompile'da listelediğiniz bağımlılıklar derleme zamanı bağımlılıkları olarak kullanılmamaktadır.

sizin ithalat ifadeleri zamanı hataları derleme hale gelmesi izler

- Tutulma ve Sen yaparak derleme Sınıfyoluna providedCompile ekleyebilir gradle build

ile gradle komut ile hem:

sourceSets.main.compileClasspath += [configurations.providedCompile] 

de eklerseniz üzerinde

eclipse { 
    classpath { 
    plusConfigurations += [configurations.providedCompile] 
    } 
} 
+0

çözüldü, teşekkürler! – dds

+0

harika! Cevabı da yükseltmeyi düşünmelisiniz. – RaGe

0

Guys: projenize tutulma eklentisi, sen ile tutulma derleme sınıfı yolunu değiştirebilir resmi hata izleyicisi bana 2.12 ile compileOnly kapsamının şu anda Eclipse'e bağlı olarak kullanılabileceğini söyledi.