Ответ 1
Прочтите это для получения дополнительной информации: https://github.com/google/dagger/issues/95
В основном, решение состоит в том, чтобы сделать то, что вы уже сделали, включая библиотеку аннотаций javax для стеклянной рыбы.
Я только начал делать инъекции зависимостей, используя Dagger 2
. Когда я развернул свои modules
, components
и попытался создать мое приложение, gradle
выбрал ошибку
Error:(4, 24) error: cannot find symbol class Generated
Я вникнул в него и обнаружил, что ошибка находится в одном из классов Dagger
, который создает DI
. Определенный класс, который отсутствовал, был javax.annotation.Generated
, а строка, бросающая ошибку, - это строка, которая аннулирует класс Dagger
сгенерированный как @Generated("dagger.internal.codegen.ComponentProcessor")
Мой вопрос в том, почему это не добавлено как транзитивная зависимость для Dagger
или почему никто другой не сталкивался с этой конкретной проблемой (я так полагаю, поскольку я не мог найти здесь никаких вопросов относительно этого?
Прочтите это для получения дополнительной информации: https://github.com/google/dagger/issues/95
В основном, решение состоит в том, чтобы сделать то, что вы уже сделали, включая библиотеку аннотаций javax для стеклянной рыбы.
Алекс прав, но лучше добавить зависимость JSR250 вместо GlassFish
provided 'javax.annotation:jsr250-api:1.0'
Правильный ответ сегодня - использовать версию кинжала, которая больше 2,1 (из-за fix, упомянутого @tomrozb, интегрирована в 2.1)