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

时间:2015-07-02 19:20:10

标签: sqlite scala jdbc sbt

我试图在我的Build.scala中使用sqlite-jdbc driver来生成带有一些必要表的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驱动程序工作。

1 个答案:

答案 0 :(得分:4)

  

那么......我做错了什么?

你走了两步太远了。将libraryDependenciesmy-project/project/project/build.sbt移至my-project/project/build.sbt,以my-project/project/Build.scala中可用的方式移动。{/ p>