当前位置: 首页 > 知识库问答 >
问题:

Room-Schema导出目录没有提供给批注处理器,因此我们无法导入Schema

应俊爽
2023-03-14
Schema export directory is not provided to the annotation processor so we cannot import the schema. To generate auto migrations, you must provide `room.schemaLocation` annotation processor argument AND set exportSchema to true.
public abstract class BatteryInfoDatabase extends androidx.room.RoomDatabase {
def room_version = "2.4.0-alpha03"
    implementation("androidx.room:room-ktx:$room_version")
    kapt("androidx.room:room-compiler:$room_version")
        javaCompileOptions {
            annotationProcessorOptions {
                arguments += [
                        "room.schemaLocation":"$projectDir/schemas".toString()]
            }
        }

共有1个答案

隗锐进
2023-03-14

在更新Kotlin版本后,我遇到了与您类似的问题(我的模式将不再生成)。我可以通过从JavaCompileOptions移动到Kapt来修复它,如下所示:

kapt {
    arguments {
        arg("room.schemaLocation", "$projectDir/schemas".toString())
    }
}

因此,用上面的块替换JavaCompileOptions应该就可以了。

编辑:显然这是科特林的一个虫子。您可以在此票据及其相关票据中跟踪讨论(并查看其他解决方案):https://youtrack.jetbrains.com/issue/kt-47416

 类似资料:
  • 我正在使用Android数据库组件室 我已经配置了所有的东西,但是当我编译的时候,Android Studio给了我这个警告: 模式导出目录未提供给注释处理器,因此我们无法导出模式。您可以提供注释处理器参数,或者将exportSchema设置为false。 据我所知,它是DB文件的所在位置 怎么会影响我的APP?这里的最佳实践是什么?是否应该使用默认位置(值)?

  • 问题内容: 我正在使用Android数据库组件室 我已经配置了所有内容,但是在编译时,Android Studio会显示以下警告: 架构导出目录未提供给注释处理器,因此我们无法导出架构。您可以提供注释处理器参数,也可以 将exportSchema设置为false。 据我了解,这是数据库文件所在的位置 它如何影响我的应用程序?最佳做法是什么?我应该使用默认位置(值)吗? 问题答案: 根据文档: 您可

  • 我有一个项目从Eclipse中的Project Explorer中消失了。我试过进口 发生什么事?如何使项目显示在Eclipse中?

  • 我面临着以下问题,却没有找到真正的解决办法。我试图在没有运气的情况下添加房间库。每次我都会遇到这个错误: 这是我的build.gradle(模块) 实体: 我的课: 我的数据库: 从应用程序创建实例: 嗯,错误还不清楚,我一直在寻找解决办法。 如果我删除MyDatabase类,构建过程将成功结束。我想问题出在这门课上,但我找不到。

  • 本文向大家介绍登录超时给出提示跳到登录页面(ajax、导入、导出),包括了登录超时给出提示跳到登录页面(ajax、导入、导出)的使用技巧和注意事项,需要的朋友参考一下 一、一般页面登录超时验证,可以用过滤器filter,如下: web.xml配置 二、ajax提交 提交页面,我的页面提示弹出框架用的asyncBox,可以改成其他的跳转 后台: 1.处理数据前 三、异步导入excel 用AjaxUp

  • 我使用EclipseMars(M1)作为我的IDE。今天,我使用Apache Thrift 0.9.2(最新稳定版本)为Android项目生成了我的服务的Java代码。这个版本(unlke版本0.9.1)使用来自javax的“生成”注释。注释包,用于添加一些可提取的文档。它在每个生成的类之前添加一行,如下所示: @已生成(value=“节俭编译器自动生成(0.9.2)”,日期=“2014-11-3