Dagger2: не удается найти символ @Autofactory классы
Я хочу перенести свой проект из кинжала 1 в кинжал 2. После добавления зависимых от кинжала 2 библиотек я получаю сообщение об ошибке "ошибка: не удается найти класс символов MyClassFactory" для всех классов @Autofactory в моем проекте. Однако я вижу, что эти классы создаются, но не распознаются IDE. Эти классы отлично работали с dagger1. Может ли кто-нибудь помочь мне, если они столкнулись с подобной проблемой?
Я использую следующие библиотеки.
compile('com.google.auto.factory:auto-factory:1.0-beta3') {
exclude module: 'guava'
exclude module: 'javawriter'
exclude module: 'dagger'
}
apt 'com.google.auto.factory:auto-factory:1.0-beta3'
compile('com.google.auto.service:auto-service:1.0-rc2') {
exclude module: 'guava'
}
apt 'com.google.auto.service:auto-service:1.0-rc2'
//Dagger 2
compile 'com.google.dagger:dagger:2.7'
apt 'com.google.dagger:dagger-compiler:2.7'
compile 'javax.annotation:jsr250-api:1.0'
Пожалуйста помоги.
1 ответ
Возможно, у вас есть другие ошибки компиляции, которые не позволяют AutoFactory генерировать какой-либо код. Попробуйте просмотреть весь журнал ошибок или увеличить количество ошибок как флаг javac, чтобы увидеть, есть ли проблема с кинжалом. Это работает в целом - у нас есть интеграционный тест кинжал + Автозавод