【问题标题】:Error while adding slick dependency using sbt使用 sbt 添加 slick 依赖项时出错
【发布时间】:2018-03-09 22:02:50
【问题描述】:

我是 scala 世界的新手(来自 android 世界),我用 play-framework 创建了 scala 项目,现在一切正常我需要添加数据库,为此我决定选择 slick,但是当我尝试添加这样的依赖项时

libraryDependencies ++= Seq(
  "com.typesafe.slick" %% "slick" % "3.1.0",
  "org.slf4j" % "slf4j-nop" % "1.6.4"
)

我收到了这个错误日志

Error:Error while importing SBT project:<br/>...<br/><pre>[info] Resolving com.typesafe#jse_2.10;1.2.3 ...
[info] Resolving org.scala-sbt#run;0.13.15 ...
[info] Resolving org.scala-sbt.ivy#ivy;2.3.0-sbt-48dd0744422128446aee9ac31aa356ee203cc9f4 ...
[info] Resolving com.typesafe.play#play-exceptions;2.6.5 ...
[info] Resolving org.scala-sbt#test-interface;1.0 ...
[info] Resolving com.jcraft#jsch;0.1.50 ...
[info] Resolving org.scala-lang#scala-compiler;2.10.6 ...
[info] Resolving jline#jline;2.14.3 ...
[info] Resolving org.scala-sbt#compiler-ivy-integration;0.13.15 ...
[info] Resolving org.scala-sbt#incremental-compiler;0.13.15 ...
[info] Resolving org.scala-sbt#logic;0.13.15 ...
[info] Resolving com.typesafe#config;1.3.1 ...
[info] Resolving org.scala-sbt#main-settings;0.13.15 ...
[info] Resolving com.lightbend.play#play-file-watch_2.10;1.0.0 ...
[info] Resolving com.typesafe.play#sbt-plugin;2.6.5 ...
[trace] Stack trace suppressed: run 'last *:ssExtractDependencies' for the full output.
[trace] Stack trace suppressed: run 'last *:update' for the full output.
[error] (*:ssExtractDependencies) sbt.ResolveException: unresolved dependency: com.typesafe.slick#slick_2.12;3.1.0: not found
[error] (*:update) sbt.ResolveException: unresolved dependency: com.typesafe.slick#slick_2.12;3.1.0: not found
[error] Total time: 4 s, completed Sep 28, 2017 12:21:57 PM</pre><br/>See complete log in <a href="file:/home/dev-00/.IntelliJIdea2017.1/system/log/sbt.last.log">file:/home/dev-00/.IntelliJIdea2017.1/system/log/sbt.last.log</a>

这是我的坑 sbt 构建脚本

name := """play-scala-starter-example"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

resolvers += Resolver.sonatypeRepo("snapshots")

scalaVersion := "2.12.2"
libraryDependencies ++= Seq(
  "com.typesafe.slick" %% "slick" % "3.1.0",
  "org.slf4j" % "slf4j-nop" % "1.6.4"
)
libraryDependencies ++= Seq(
  jdbc,
  "com.typesafe.play" %% "anorm" % "2.5.3"
)

libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "3.0.0" % Test
libraryDependencies += "com.h2database" % "h2" % "1.4.194"
libraryDependencies += jdbc
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.41"

【问题讨论】:

  • 尝试从 lightbend 网站下载示例并尝试编译它们,找出差异等。通常它只是版本问题。这也可能是 scala 版本的问题。

标签: scala sbt playframework-2.0 slick-3.0


【解决方案1】:

根据我在 maven 上的发现,似乎只有少数版本的 slick 是针对 scala 2.12 编译的:

  • 3.2.1
  • 3.2.0
  • 2.1.0

见:http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.typesafe.slick%22%20AND%20a%3A%22slick_2.12%22

使用更新版本的 slick 或其他 scala 版本 (2.11.x)。

【讨论】:

    【解决方案2】:

    将以下行添加到您的build.sbt

     resolvers += "typesafe" at "http://repo.typesafe.com/typesafe/releases/"
    

    【讨论】:

    • 更新build.sbt文件后是否刷新项目?
    • 是的,当我运行构建时,它说未解决的依赖路径:com.typesafe.slick:slick_2.12:3.1.0
    猜你喜欢
    • 2021-11-11
    • 2019-11-19
    • 1970-01-01
    • 2020-01-20
    • 2017-05-20
    • 2016-02-19
    • 2018-04-25
    • 2014-02-26
    • 2013-05-28
    相关资源
    最近更新 更多