无法找到导入javax.inject.Inject包

时间:2013-10-31 23:55:37

标签: java importerror dagger

我正在尝试将Dagger实现为IntelliJ项目中的依赖注入器,但我的代码失败了:

import javax.inject.Inject;

Intellij正在查找“javax”包,但未找到“inject”包,因此失败。

我是Android的新手,所以我很抱歉,如果这不是一件容易的事,但是有谁能告诉我为什么没有找到注射包?

5 个答案:

答案 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)

直接从Maven添加注入库,如下所示:

  • 文件->项目结构->项目设置->库->添加->来自Maven
  • 搜索javax.inject:javax.inject:1
  • 找到它后,单击“确定”

enter image description here

答案 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')
    }