2013-11-20 2 views
4

Я загрузил кинжал, как кажется, хороший вариант для инъекций зависимостей в Android. Но у меня есть некоторые проблемы, связанные с компилятором. Есть ли подсказки относительно правильных настроек? Я следил за инструкциями аннотаций андроида, так как этот проект кажется схожим. Но это не работает для кинжала.Как настроить кинжал в IntelliJ

Что я сделал: Я добавил dagger-1.1.0.jar и javax.inject-1.jar в папку lib моего проекта, и я добавил новую папку под названием «compile-libs», содержащую «dagger-compiler- 1.1.0.jar ", так как я не хочу, чтобы этот файл был упакован в * .apk.

project file structure

Я добавил кинжал и javax.inject зависимостей модуля.

Теперь сложная часть: Я добавил компилятор в настройках компилятора аннотаций:

settings

Когда я запускаю программу, я получаю следующее сообщение об ошибке: модуль адаптера для класса de.myproject.app.modules .AndroidModule не может быть загружен. Убедитесь, что для этого модуля была запущена генерация кода.

Так что мне кажется, что генерация кода не состоялась. Кроме того, «сгенерированная» папка в моем проекте пуста. Итак, каковы правильные настройки, чтобы кинжал работал в Android-проекте в IntelliJ?

+0

Какую версию IDEA вы используете? –

+0

12.1.2 Community Edition –

+0

Я помню похожие проблемы. Попробуйте обновить IDEA до новейшей стабильной или бета-версии –

ответ

5

Зависимости от кинжала-компилятора не найдены.

Кинжал, JavaWriter и javax.inject также требуются.
(Для также требуется 1.2+ гуавы - guava discussion)

Попробуйте положить эти .jars в той же папке, что и кинжала-компилятором, а затем добавить все 4 также как процессоры аннотаций. Это работает для Eclipse и также для IntelliJ.

В качестве альтернативы сделать 1 "жирную" банку со всеми этими зависимостями вместе. См. issue 360.

Файлы могут быть загружены с Maven:

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