2016-12-16 1 views
1

Поддерживает ли обработчик аннотаций Dagger2 инкрементный компилятор Eclipse? Я устанавливаю Dagger2 с образцом приложения и после полной компиляции (после очистки проекта) все работает нормально, но после небольших изменений (модуль или компонент) и только инкрементный компилятор ничего не обновляет (и ошибки отображаются в журнале Eclipse). Является ли это нормальным, а если нет, то как я могу это исправить, потому что полные компиляторы стоят дорого.Поддерживает ли обработчик аннотаций Dagger2 инкрементный компилятор Eclipse?

Thanks

ответ

3

Да и нет.

Кинжал был написан для использования только стандартного API обработки аннотации, предоставляемого как часть JDK. В его реализации нет компилятора. Итак, теоретически, Кинжал должен работать под любым компилятором.

К сожалению, при попытке запустить Кинжал с внедрением этого API API Eclipse мы столкнулись с большим количеством ошибок. Все, что основано на ECJ (инкрементная компиляция Eclipse, Android Jack toolchain и т. Д.), Имеет тенденцию к непредвиденным сбоям.

В то время как проекты, такие как AutoValue, обрабатывают обработку аннотаций достаточно ограниченными способами, чтобы построить в workarounds для их требуемой функциональности, что было бы значительно более крупным предприятием для Кинжала.

Итак, если/когда Eclipse может надежно поддерживать обработку аннотаций, кинжал должен работать.

+0

Благодарим за разъяснения! – Lars

+0

Похоже, что обходные решения исправлены в последней версии Eclipse ... Могу ли я дать отладчику шанс :-) – Lars

+0

Я обновился до Eclipse Oxygen, и теперь он отлично работает. – qwertzguy

Смежные вопросы