【问题标题】:sbt run won't find external librariessbt run 找不到外部库
【发布时间】:2020-02-25 18:02:34
【问题描述】:

我的build.sbt 中有mssql 作为这样定义的外部库。

libraryDependencies ++= Seq(
  ...
  "com.typesafe.slick" %% "slick" % "3.3.2",
  "com.typesafe.slick" %% "slick-hikaricp" % "3.3.2",
  "com.microsoft.sqlserver" % "mssql-jdbc" % "7.4.1.jre8"
)

现在,为了运行我的主要对象,我执行以下操作

  1. sbt
  2. run
  3. 选择主要对象

然而,现在似乎找不到驱动程序,即库。

java.lang.RuntimeException: Failed to get driver instance for jdbc
...
Caused by: java.sql.SQLException: No suitable driver

我认为它根本不包含在类路径中。有关如何解决此问题的任何建议?

编辑:我使用以下方式获取数据库连接。

object DatabaseUtils {
  private val cfg: DatabaseConfig[JdbcProfile] = DatabaseConfig.forConfig("database")
  def db: JdbcProfile#Backend#Database = cfg.db
}

有了这个配置

database = {
 profile = "slick.jdbc.SQLServerProfile$"
 db {
  host = "<IP>"
  port = <port>
  databaseName = "<dbname>"

  url = "jdbc:sqlserver://"${database.db.host}":"${database.db.port}";databaseName="${database.db.databaseName}
  user = "<user>"
  password = "<pass>"
 }
}

【问题讨论】:

  • 添加你的数据库配置/sbt配置看起来不错

标签: sql-server scala dependencies sbt


【解决方案1】:

我认为您想念数据库驱动程序。来自documentation

tsql {
  driver = "slick.driver.H2Driver$"
  db {
    connectionPool = disabled
    driver = "org.h2.Driver"
    url = "jdbc:h2:mem:tsql1;INIT=runscript from 'src/main/resources/create-schema.sql'"
  }
}

我没有使用Slick,在我们的项目中,MSSQL的驱动是com.microsoft.sqlserver.jdbc.SQLServerDriver

【讨论】:

    猜你喜欢
    • 2021-02-05
    • 2013-06-02
    • 2020-06-07
    • 1970-01-01
    • 2012-07-10
    • 2019-01-08
    • 2014-02-08
    • 1970-01-01
    • 2014-11-20
    相关资源
    最近更新 更多