sqlite - 如何将库依赖添加到 Build.scala 的类路径?

标签 sqlite scala jdbc sbt

我正在尝试使用 sqlite-jdbc driver在我的 Build.scala 中,在编译之前生成一个带有一些必要表的 sqlite 数据库。这是我为实现这一目标而写的:

compile in Compile <<= (compile in Compile) map { result =>
  val sqliteDb = file("my_sqlite.db")
  if (!sqliteDb.exists()) {
    val connection = DriverManager.getConnection(s"jdbc:sqlite:${sqliteDb.getAbsolutePath}")
    val statement = connection.prepareStatement("create table EXAMPLE ( ... );")
    statement.execute()
    statement.close()
    connection.close()
  }
  result
}

一切都很好,但是当我运行 compile 时,我得到了这个错误:

[error] (my-project/compile:compile) java.sql.SQLException: No suitable driver found for jdbc:sqlite:/Users/2rs2ts/src/my-project/my_sqlite.db

这有点令人沮丧,因为我认为我可以通过创建递归项目将依赖项添加到 Build.scala 的类路径中。我的目录结构如下所示:

my-project/
  project/
    Build.scala
    build.sbt
    project/
      build.sbt

my-project/project/project/build.sbt 看起来像这样:

libraryDependencies += "org.xerial" % "sqlite-jdbc" % "3.8.10.1"

编辑:我也将该行放在 my-project/project/build.sbt 中,但它没有解决我的问题。

那么……我做错了什么?为了使 sqlite 驱动程序正常工作,我需要这种对类路径的依赖。

最佳答案

So... what did I do wrong?

你走得太远了两步。将 libraryDependenciesmy-project/project/project/build.sbt 移动到 my-project/project/build.sbt 这样它就会在 my-project/project/Build.scala 中可用。

关于sqlite - 如何将库依赖添加到 Build.scala 的类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31192904/

相关文章:

python - 如何在sqlite 3中将数据添加到表中而不换行

java - Android - 将两个数据库中的数据提取到一个游标中

android - 清理 sqlite 语句

scala - 我可以从实时 Scala 代码中获取 AST 吗?

java - 如何设置连接属性?

SQL - 基于另一个表中给出的匹配值在一个表中进行选择

scala - 使用 Gatling 进行调试 - 如果状态为 500,则打印 ln

scala - 无形(scala)中的 "at"是什么?

java - 是否值得为 int 值创建 PreparedStatement?

mysql - sqoop 1.99.5 安装错误 - 无法访问 mysql 5.6 的 JDBC 连接器(在 Ubuntu 节点上运行的 hadoop 2.4.1 集群)