【问题标题】:Slick 3.1.1 sqlite java.lang.ClassNotFoundExceptionSlick 3.1.1 sqlite java.lang.ClassNotFoundException
【发布时间】:2016-12-21 00:18:47
【问题描述】:

我正在尝试将 sqlite 数据库与 Slick 3.1.1 连接,在 Android 开发中使用 Macroid for Scala。

这是我的代码:

lazy val db = Database.forURL(
url = "jdbc:sqlite:" + getApplicationContext().getFilesDir() + "events.txt",
driver = "org.sqlite.JDBC")

dbSetupAction()

dbSetupAction:

  def dbSetupAction() = {

    val initActions = DBIO.seq(
      events.schema.create
    )

    val futureInitActions = db.run(initActions)

    futureInitActions.onComplete {
      case Success(s) => Log.d("FICHEROS Success", s.toString)
      case Failure(ex) => Log.d("FICHEROS Failure", ex.toString)
    }


  }

事件类:

class Events(tag: Tag) extends Table[(Int, Int, Double)](tag, "EVENTS"){
  def id = column[Int]("ID", O.PrimaryKey, O.AutoInc)
  def eventType = column[Int]("EVENT_TYPE")
  def timeTag = column[Double]("TIMETAG")

  def * = (id, eventType, timeTag)

}

我得到的输出错误是:

D/FICHEROS 失败:java.lang.ClassNotFoundException: org.sqlite.JDBC

在我的 build.sbt 中,我添加了:

  libraryDependencies ++= Seq(
  aar("org.macroid" %% "macroid" % "2.0.0-M4"),
  aar("com.android.support" % "support-v4" % "21.0.0"),
  "org.xerial" % "sqlite-jdbc" % "3.8.11.2",
  "com.typesafe.slick" %% "slick" % "3.1.1",
  "org.slf4j" % "slf4j-nop" % "1.6.4")

提前致谢。

【问题讨论】:

    标签: android scala sqlite jdbc slick


    【解决方案1】:
    proguardOptions += "-keep class org.sqlite.JDBC { *; }" 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      相关资源
      最近更新 更多