Skip to main content
 首页 » 编程设计

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

2026年05月17日59xxx_UU

我正在尝试使用 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 中可用。