2013-10-31 27 views
16

Bir IntelliJ projesinde bir bağımlılık enjektör olarak Dagger uygulamaya çalışıyorum ama benim kod üzerinde başarısız oluyor:ithalat javax.inject.Inject paket bulunamıyor

ithalat javax.inject.Inject;

Intellij 'javax' paketini buluyor, ancak 'inject' paketini değil, bu yüzden başarısız oluyor.

Android için yeniyim, bu yüzden eğer bu hiç de cesur bir şey değilse özür dilerim, ama bana neden enjeksiyon paketinin bulunmadığını söyleyebilir mi?

+1

java EE 6 paketlerinin indirildiğinden emin olun, alternatif olarak: intelliJ'de, alt + enter tuşuna basabilirsiniz ve "bu paketi web'de ara" gibi bir seçenek olacak ve size bir kavanoz listesi verecek o paketi al. – Epicblood

+0

Maven kullanıyor musunuz? –

+0

Ben kavanozları aramak için IntelliJ kullandığınızda, 'javax.inject.Inject' için kullanılabilir bir kavanoz olmadığını bana söylüyor. senin IntelliJ tercihlerinde Ek açıklamalarla ilgili 1.Turn: http://www.jetbrains.com/idea/webhelp/using-external-annotations.html 2.Include enjekte –

cevap

16

Hançer bağımlılık enjeksiyonu için kullanılan JSR 330, Java standart ek açıklamalarına bağlıdır (bkz: @Inject, @Singleton, vs.).

Bu, dahil etmeniz gereken ayrı bir kavanozdur. Entegre bağımlılık yönetimi (Maven, Gradle, Ant + Ivy, sbt) ile bir yapı sistemi kullanıyorsanız, bunu ücretsiz olarak alabilirsiniz. Hala kavanozların etrafında kopyalama yapıyorsanız, el ile eklemeniz gerekir.

En son kavanozu Maven central'dan (alttaki) indirebilirsiniz. düz Java projesi kullanan kişilerin Maven veya Gradle veya e.t.c. değilse

+2

Kendi kodunuzda kullanmakta olduğunuz maven yönergelerine göre, hiçbir zaman "ücretsiz olarak alın" geçiş bağımlılıkları yapmamalısınız. Bu nedenle, ek açıklamalarını kullanıyorsanız, javax.inject eserlerini her durumda içe aktarmanızı öneririz. –

9

durumda sizin pom.xml

<dependency> 
    <groupId>javax.inject</groupId> 
    <artifactId>javax.inject</artifactId> 
    <version>1</version> 
</dependency> 
3

bu eklemek Sen Inject Jar file

buradan ayrı Kavanoz dosyasını indirmek ve daha sonra IDEA yapabileceğiniz, harici kütüphanelere ekleyebileceğiniz şöyle: Dosya -> Proje Yapısı -> Kütüphaneler -> Yeni Proje Kütüphanesi (+)

Ardından kütüphaneye giden yolu bulun ve iş bitti.

+0

, Java 7 için neden java 8 ile derlenmediğine dair bir fikriniz var mı? – Aguid