Dagger 2 Russian FAQ

Dagger 2 Russian FAQ

Ilya Gulya

Часто задаваемые вопросы о Dagger 2

Почему все статьи про Dagger 2 и другие инструменты внедрения зависимостей идут с картинкой кофе либо кофемашины?

Отсылка к зависимости от кофе :)

Подключил Dagger 2 в проект, создал граф зависимостей, когда пытаюсь скомпилировать - вываливается куча ошибок датабиндинга (или любой другой библиотеки, которая использует Annotation Processing), что делать?

Это происходит потому, что Dagger 2, как и DataBinding (и множество других библиотек, вроде Realm, DBFlow) использует Annotation Processing для генерации кода при сборке приложения.

По умолчанию максимальное количество ошибок, выдаваемых компилятором java ограничено 100 и если вы используете, например, DataBinding, то вывалятся ошибки связанные с ним, а ошибки Dagger могут не влезть в указанный лимит, и вы не сможете узнать истинную причину ошибки.

Чтобы исправить эту проблему и избежать её в дальнейшем, необходимо увеличить лимит количества ошибок компилятора, добавив следующий блок кода в файл build.gradle в корне проекта:

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            // Здесь 10000 - максимальное количество ошибок
            options.compilerArgs << "-Xmaxerrs" << "10000"
        }
    }
}


Report Page