2

Dagger のコード生成が正しく機能しているかどうかを確認するにはどうすればよいですか? 代わりにリフレクションが使用されていることをユーザーが最終的に発見したスレッドがいくつかあります。

サンプルのコーヒー メーカー アプリケーションを Eclipse で実行しましたが、たとえば Thermosiphon でブレークポイントを設定すると、スタックに生成されたクラスが表示されません。ReflectiveAtInjectBinding が表示されるため、セットアップが正しくないのではないかと疑われます。

4

1 に答える 1

4

したがって、これにはいくつかの側面があります。

  1. Dagger は最近、モジュールのリフレクション フォールバックを削除しました (またはリモートにしようとしています)。そのため、次のリリースでは、リフレクション モジュール アダプターを使用する必要はありません。モジュール アダプタが生成されなかった場合、それ以上のアクションを妨げる特定のエラーが発生します。

  2. コード生成の検証に関しては、@Module を含むすべてのソースで $$ModuleAdapter クラスが生成されていることを確認する小さな検証スクリプトを作成することをお勧めします。Maven で実行すると仮定すると、これをプロジェクトの検証ステップに追加できます。

  3. Eclipse で実行している場合は、m2e プラグインが必要です。Maven 設定で有効にして、Maven が Eclipse で注釈処理設定を構成できるようにする必要があります。

1 つの警告。m2e で注釈処理構成を管理し、dagger 自体を Eclipse プロジェクトとして開いている場合は、プロジェクトの Maven 設定で、「ワークスペース プロジェクトからの依存関係の解決」を無効にする必要があります。

于 2013-06-24T16:10:48.217 に答える