未找到MoreTypes类

时间:2017-12-27 11:44:40

标签: java gradle dagger-2 dagger gradlew

我有一个使用dagger-2和grpc的java项目,当我尝试使用./gradlew build构建它时出现以下错误:

> java.lang.NoClassDefFoundError: com/google/auto/common/MoreTypes

是应该在dagger-2依赖项中提供的MoreTypes,还是应该在类路径上提供依赖?

这是gradle.build文件内容的相关部分:

plugins {
    id "net.ltgt.apt" version "0.10"
    id "com.google.protobuf" version "0.8.1"
    id "java"
}

dependencies {
    compile 'io.grpc:grpc-all:1.5.0'

    compile 'com.google.dagger:dagger:2.14'
    apt 'com.google.dagger:dagger-compiler:2.14'

    testApt 'com.google.dagger:dagger-compiler:2.14'

   }



apply plugin: 'java'

sourceCompatibility = 1.8
targetCompatibility = 1.8

1 个答案:

答案 0 :(得分:4)

这是在2.14.1中修复的Dagger 2.14中的问题。请参阅issue 994," Dagger 2.14打破构建":

  

此时我没有将问题隔离到一个小样本项目,但我看到的可能原因如下,可能是指针。在构建的这一部分中,我没有明确依赖Google Auto库。

java.lang.NoClassDefFoundError: com/google/auto/common/MoreTypes

在2.14.1中确认已修复,其中包含this commit