我試圖實現匕首作爲一個項目的IntelliJ一個依賴注入,但我的代碼失敗的:無法找到進口javax.inject.Inject包
進口javax.inject.Inject;
Intellij找到了'javax'包,但沒有找到'inject'包,所以失敗了。
我是新來的Android,所以我很抱歉,如果這是一個沒有道理,但任何人都可以告訴我爲什麼注射包沒有被發現?
我試圖實現匕首作爲一個項目的IntelliJ一個依賴注入,但我的代碼失敗的:無法找到進口javax.inject.Inject包
進口javax.inject.Inject;
Intellij找到了'javax'包,但沒有找到'inject'包,所以失敗了。
我是新來的Android,所以我很抱歉,如果這是一個沒有道理,但任何人都可以告訴我爲什麼注射包沒有被發現?
Dagger依賴於JSR 330,用於依賴注入的Java標準註釋(例如:@Inject
,@Singleton
等)。
這是一個單獨的jar,你必須包括。如果你正在使用一個集成了依賴管理的構建系統(Maven,Gradle,Ant + Ivy,sbt),你可以免費獲得這個。如果你仍然在複製jar文件,那麼你必須手動添加它。
您可以從Maven central(底部)下載最新的罐子。
根據maven指南,您不應該在自己的代碼中實際使用「免費獲取」傳遞依賴關係,所以我建議在任何情況下導入javax.inject工件,如果您使用它的註釋。 –
添加到您的pom.xml
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
萬一如果使用普通的Java項目沒有任何人或Maven的或搖籃e.t.c.你可以從這裏Inject Jar file
下載一個單獨的JAR文件,然後添加到您的外部庫,在知道你能做到這一點,如下所示: 文件 - >項目結構 - >庫 - >新建項目庫(+)
然後找到圖書館和工作完成的路徑。
你有一個想法,爲什麼它與Java 8編譯(不需要這個庫),而不是Java 7? – Aguid
確保你有java EE 6軟件包下載,或者:在intelliJ上,你可以點擊alt + enter,並且會有一個選項,比如「搜索這個軟件包的網絡」,它會給你一個jar列表有這個包。 – Epicblood
你在使用Maven嗎? –
當我使用IntelliJ搜索罐子時,它告訴我沒有罐子可用於'javax.inject.Inject'。 –