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, чтобы увидеть, есть ли проблема с кинжалом. Это работает в целом - у нас есть интеграционный тест кинжал + Автозавод

Другие вопросы по тегам