1

构建项目时出现以下错误。我怀疑 Butterknife 库是一个原因,因为我通过它启用了注释。我们是否需要任何特殊配置才能在 Ant 构建中包含黄油刀?如果您有任何建议,请告诉我。

[javac]错误:错误的服务配置文件,或构造处理器对象时抛出异常:javax.annotation.processing.Processor:无法实例化提供程序dagger.internal.codegen.ProvidesProcessor:java.lang.NoClassDefFoundError:dagger/internal/Binding

4

1 回答 1

1

我解决了这个问题:我必须在 javac 编译选项中包含注释处理器,并将其指向黄油刀 jar 文件。

为此,创建一个“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>

使您的处理器路径指向 butterknife.jar 文件。希望,这对某人有所帮助。

于 2013-11-14T09:28:39.120 回答