我正在尝试将Dagger实现为IntelliJ项目中的依赖注入器,但我的代码失败了:
import javax.inject.Inject;
Intellij正在查找“javax
”包,但未找到“inject
”包,因此失败。
我是Android的新手,所以我很抱歉,如果这不是一件容易的事,但是有谁能告诉我为什么没有找到注射包?
答案 0 :(得分:19)
Dagger依赖于JSR 330,这是用于依赖注入的Java标准注释(想想:@Inject
,@Singleton
等。)
这是一个你必须包含的独立jar。如果您使用的是具有集成依赖关系管理的构建系统(Maven,Gradle,Ant + Ivy,sbt),那么您可以免费获得。如果您仍在复制罐子,那么您必须手动添加它。
您可以从Maven central(位于底部)下载最新的jar。
答案 1 :(得分:12)
将其添加到您的pom.xml
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
答案 2 :(得分:3)
如果使用普通Java项目的人不是Maven或Gradle或e.t.c.您可以从此处Inject Jar file
下载单独的Jar文件然后添加到您的外部库,在IDEA中,您可以执行以下操作: 档案 - &gt;项目结构 - &gt;图书馆 - &gt;新项目图书馆(+)
然后找到库的路径并完成工作。
答案 3 :(得分:1)
答案 4 :(得分:0)
//依赖注入 实现“ com.google.dagger:dagger:$ rootProject.dagger2Version”
// dependency injection
implementation "com.google.dagger:dagger:$rootProject.dagger2Version"
implementation {
exclude(group: 'javax.inject', module: 'javax.inject')
}