【问题标题】:Room Compiler java.lang.NoClassDefFoundError: org/jetbrains/annotations/NotNull房间编译器 java.lang.NoClassDefFoundError: org/jetbrains/annotations/NotNull
【发布时间】:2018-01-21 08:12:06
【问题描述】:

添加android room编译器后我无法编译我的android项目,每次我编译android studio都会抛出这个异常

ClassNotFoundException: org.jetbrains.annotations.NotNull

查看我的应用构建

 android{
 compileSdkVersion 27
 buildToolsVersion '27.0.2'}

依赖

 roomVersion = '1.0.0'
   implementation "android.arch.persistence.room:runtime:$rootProject.roomVersion"
   annotationProcessor "android.arch.persistence.room:compiler:$rootProject.roomVersion"
   implementation "android.arch.persistence.room:rxjava2:$rootProject.roomVersion"

错误日志

更新

在我的 app build gradle 中,我意识到有这部分配置

configurations {
    all*.exclude module: 'annotations'
}

删除此配置解决了我的问题。

【问题讨论】:

  • 你在使用 Kotlin 吗?
  • 我没有使用 kotlin
  • 你必须发布DAO和模型代码sn-ps,它的手才能理解注释有什么问题。

标签: android android-studio android-room


【解决方案1】:

如果您使用的是 Kotlin,请进行一些更改

  1. 添加应用插件:'kotlin-kapt' //app build.gradle top
  2. 更改注解处理器"android.arch.persistence.room:compiler:$rootProject.roomVersion"

    kapt "android.arch.persistence.room:compiler:$rootProject.roomVersion"

【讨论】:

  • 我没有使用 Kotlin 的问题,虽然我使用了 kapt,但它返回内部错误而不是当前异常
  • 这是根本原因配置 { all*.exclude module: 'annotations' }
  • 好收获! @marwn
猜你喜欢
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-01
  • 1970-01-01
  • 2010-09-18
相关资源
最近更新 更多