我正在尝试将 Dagger 实现为 IntelliJ 项目中的依赖注入器,但我的代码在以下方面失败:
import javax.inject.Inject;
Intellij 正在寻找 ' javax
' 包,但不是 ' inject
' 包,所以它失败了。
我是 Android 新手,所以如果这是一个没有道理的问题,我很抱歉,但是谁能告诉我为什么找不到注入包?
我正在尝试将 Dagger 实现为 IntelliJ 项目中的依赖注入器,但我的代码在以下方面失败:
import javax.inject.Inject;
Intellij 正在寻找 ' javax
' 包,但不是 ' inject
' 包,所以它失败了。
我是 Android 新手,所以如果这是一个没有道理的问题,我很抱歉,但是谁能告诉我为什么找不到注入包?
Dagger depends on JSR 330, the Java standard annotations which are used for dependency injection (think: @Inject
, @Singleton
, etc.).
This is a separate jar that you have to include. If you were using a build system with integrated dependency management (Maven, Gradle, Ant+Ivy, sbt) you'd get this for free. If you're still copying around jars then you have to add it manually.
You can download the latest jar from Maven central (at the bottom).
将此添加到您的 pom.xml
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
如果有人使用纯 Java 项目而不是 Maven 或 Gradle 等,您可以从此处下载单独的 Jar 文件Inject Jar file
然后添加到您的外部库中,在 IDEA 中您可以执行以下操作:文件 -> 项目结构 -> 库 -> 新项目库 (+)
然后找到图书馆的路径,工作就完成了。
// 依赖注入实现 "com.google.dagger:dagger:$rootProject.dagger2Version"
// dependency injection
implementation "com.google.dagger:dagger:$rootProject.dagger2Version"
implementation {
exclude(group: 'javax.inject', module: 'javax.inject')
}