2013-11-13 3 views
1

При создании проекта я получаю следующую ошибку. Я подозреваю, что библиотека Butterknife является причиной, поскольку через нее можно включить аннотации. Нужны ли нам какие-либо специальные конфигурации для включения butterknife с Ant build? Пожалуйста, дайте мне знать, если у вас есть предложения.Проблема сборки Ant с моим проектом Android

[Javac] Ошибка: Bad файл конфигурации службы или исключение брошено при строительстве объекта Процессор: javax.annotation.processing.Processor: Provider dagger.internal.codegen.ProvidesProcessor не может быть создан: java.lang.NoClassDefFoundError: Кинжал/internal/Binding

+0

Для будущих читателей этого вопроса я недавно добавил butterknife (5.1.0) в свой проект и не имел никаких проблем с сборкой муравьев. В корзине reelease butterknife содержится секция meta-inf для обработки аннотаций, и это получает настройки по умолчанию - мой custom_rules.xml почти пуст. – lilbyrdie

+0

Кстати, ошибка, которую вы перечисляете, скорее напоминает Кинжал, а не масляный нож. Кинжал - это инжектор зависимости java; butterknife - утилита для удаления кода обработки котельной таблички в Android. Они оба сильно зависят от аннотаций. – lilbyrdie

ответ

1

Я решил проблему: Мне пришлось включить обработчик аннотации с параметрами компиляции javac и указать его на файл с фальшивым ножом.

Для этого создайте файл «custom_rules.xml» и добавьте следующую цель для JAVAC:

<javac encoding="${java.encoding}" 
        source="${java.source}" target="${java.target}" 
        debug="true" extdirs="" includeantruntime="false" 
        destdir="${out.classes.absolute.dir}" 
        bootclasspathref="project.target.class.path" 
        verbose="${verbose}" 
        classpathref="project.javac.classpath" 
        fork="${need.javac.fork}"> 
       <src path="${source.absolute.dir}" /> 
       <src path="${gen.absolute.dir}" /> 
       <compilerarg line="${java.compilerargs}" /> 
     <compilerarg line="-processorpath ${processorpath}"/> 
      </javac> 

Сделайте свою точку processorpath в butterknife.jar файл. Надеюсь, это помогает кому-то.

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