Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译时发生java.lang.NoSuchMethodError_Java_Android_Butterknife_Dagger 2_Retrolambda - Fatal编程技术网

编译时发生java.lang.NoSuchMethodError

编译时发生java.lang.NoSuchMethodError,java,android,butterknife,dagger-2,retrolambda,Java,Android,Butterknife,Dagger 2,Retrolambda,我正在尝试编译一个Android项目,但没有成功。错误消息是: 任务“:mobile:\u compileAppDebug”的执行失败 java.lang.NoSuchMethodError:com.google.auto.common.MoreTypes.asTypeElements(Ljavax/lang/model/util/Types;Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet 以下是我的模块的gradle依赖

我正在尝试编译一个Android项目,但没有成功。错误消息是:

任务“:mobile:\u compileAppDebug”的执行失败

java.lang.NoSuchMethodError:com.google.auto.common.MoreTypes.asTypeElements(Ljavax/lang/model/util/Types;Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet

以下是我的模块的gradle依赖项,我在其中指定了许多库,包括google Auto:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':library')
    compile 'com.google.dagger:dagger:2.0-SNAPSHOT'
    provided 'com.google.auto.value:auto-value:1.0-rc1'
    apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT'
    provided 'org.glassfish:javax.annotation:10.0-b28' 
    compile 'com.jakewharton:butterknife:6.1.0' 
    compile 'com.f2prateek.dart:dart:1.1.0'
}
当我查看依赖项时,我认为我只需要google auto value,因为缺少的方法就存在于此,但添加提供的并不能解决问题

project gradle文件包括retrolambda插件

dependencies {
    classpath 'me.tatarka:gradle-retrolambda:2.5.0'
    classpath 'com.android.tools.build:gradle:1.0.1'
    classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
    classpath 'io.fabric.tools:gradle:1.+'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}

有人能帮我确定哪些依赖项导致编译错误吗?有趣的是,当我将gradle文件复制到一个空项目中时,一切都正常运行

Dagger 2.0-SNAPSHOT依赖于API发生更改的自动快照:


对于正在开发中的图书馆来说,这是完全正常和可以接受的事情。如果您不能容忍偶尔出现的版本损坏,请不要依赖于非发布版本,因为它可以在没有警告的情况下随时更改。

我也遇到过类似的问题。我在jar文件中使用的是番石榴

因此,从apt配置中排除此特定依赖性修复了问题:

configurations {
  apt.exclude module: 'artifactId-Of-Library' 
}

第一件事:我们在任何地方都很欣赏和使用你的东西,所以感谢++只是想补充一下,这不是生产准备工作,所以没有完美的库引用的期望,我只是超出了我的深度,无法弄清问题的真相。现在我将尝试参考问题页面中的解决方法。它显然在最新快照中已修复。可能需要从gradle缓存中删除匕首2,具体取决于缓存配置。它已修复,是的。或者,使用破坏性小得多的
--refresh dependencies