DaggerをIntelliJプロジェクトの依存関係インジェクターとして実装しようとしていますが、コードが失敗します:
import javax.inject.Inject;
Intellijは 'javax
'パッケージを検出していますが、 'inject
'パッケージは検出していないため、失敗します。
私はAndroidを初めて使用するので、これが非常に簡単な場合は謝罪しますが、injectパッケージが見つからない理由を教えていただけますか?
DaggerはJSR 330に依存しています。Java依存性注入に使用される標準注釈(思考:@Inject
、@Singleton
など)。
これは、含める必要がある別個のjarです。依存関係管理が統合されたビルドシステム(Maven、Gradle、Ant + Ivy、sbt)を使用している場合、これは無料で入手できます。まだjarファイルをコピーしている場合は、手動で追加する必要があります。
Maven central (下部)から最新のjarをダウンロードできます。
これをpom.xmlに追加します
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
プレーンJavaプロジェクトではなくMaven、Gradle、e.t.cを使用している場合。ここから個別の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')
}