Я создал приложение Java с Eclipse и использую Maven для управления пакетами. Несколько дней назад мне удалось настроить свое приложение для работы с Dagger 1 (добавление зависимостей в файл pom, включение обработки аннотаций и добавление jar-файлов dagger, dagger-compile, javax и javawriter в Factory Path). После нескольких обсуждений с моими коллегами мы решили использовать Dagger 2. Я попытался перенести реализацию Dagger 1 на Dagger 2, выполнив документацию Dagger 2, но это не сработало.
По какой-то необъяснимой причине класс @Component
с префиксом Dagger
не создается.
Из-за этого я решил попробовать Dagger 2 Coffee. образец.
Я создал новый проект Eclipse Java, преобразовал его в Maven, добавил образец кода и зависимости Dagger 2 в файл pom:
<dependency>
<groupId>com.google.dagger</groupId>
<artifactId>dagger</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.google.dagger</groupId>
<artifactId>dagger-compiler</artifactId>
<version>2.0.1</version>
<optional>true</optional>
</dependency>
Моя сборка завершилась со следующей ошибкой:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
DaggerCoffeeApp_Coffee cannot be resolved
Я извлек интерфейс компонента Coffee
в отдельный файл (с именем Coffee.java
) и попытался снова, но получил ту же ошибку.
Я удалил банки Factory Path из Dagger 1, но результат остался прежним. Если я попытаюсь добавить банки Dagger 2, я получу окно Произошло несколько проблем со следующим текстом ошибки Errors occurred during the build.
Errors running builder 'Java Builder' on project 'dagger'.
com/google/common/collect/SetMultimap
Я обнаружил, что проблема возникает, когда я добавляю банку dagger-compiler
.
Если я удалю каждую банку из Factory Path, сборка все равно завершится ошибкой.
Я пытался найти файл DaggerCoffee
, который должен быть сгенерирован автоматически, но не смог его найти.
Как я могу использовать Dagger 2 с Eclipse? Я несколько раз просматривал документацию и потратил день на ее изучение, но пока безуспешно.