I'm trying to implement Dagger as a dependency injector in an IntelliJ project, but my code is failing on:
import javax.inject.Inject;
Intellij is finding the 'javax
' package, but not the 'inject
' package, so it fails.
I am new to Android, so I apologize if this is a no brainer, but can anyone tell me why the inject package is not being found?
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).
// dependency injection implementation "com.google.dagger:dagger:$rootProject.dagger2Version"
add this to your pom.xml
In case if anyone using plain Java project not Maven or Gradle or e.t.c. You can download a separate Jar file from here Inject Jar file
and then add to your external libraries, in IDEA you can do that as follows: File -> Project Structure -> Libraries -> New Project Library (+)
Then find the path to library and job is done.