首页 文章

使用sbt和IntelliJ IDEA管理依赖关系

提问于
浏览
0

我正在使用Scala和使用IntelliJ IDEA的Play Framework首次使用后端项目 .

我一直在阅读很多文档和主题:

我无法理解如何导入依赖项 .

当我尝试附加新的依赖项时,IntelliJ会对其进行下划线并显示“未知工件 . 未解析或索引”或显示日志并显示“SBT unknown import” .

我添加的每个依赖项都来自Maven资源库 .

这是build.sbt文件:

name := "server"

version := "1.0" 

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

resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"

resolvers += "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/"

resolvers := ("Atlassian Releases" at "https://maven.atlassian.com/public/") +: resolvers.value

scalaVersion := "2.12.2"

libraryDependencies ++= Seq(
  jdbc,
  ehcache,
  ws,
  specs2 % Test,
  guice,
  "org.mongodb.scala" %% "mongo-scala-driver" % "2.1.0",
  "com.mohiva" %% "play-silhouette" % "5.0.2",
  "com.mohiva" %% "play-silhouette-password-bcrypt" % "5.0.2",
  "com.mohiva" %% "play-silhouette-crypto-jca" % "5.0.2",
  "com.mohiva" %% "play-silhouette-persistence" % "5.0.2",
  "com.mohiva" %% "play-silhouette-testkit" % "5.0.2" % "test"
)

unmanagedResourceDirectories in Test <+=  baseDirectory ( _ /"target/web/public/test" )

1 回答

  • 1

    这些依赖项是使用Play插件定义的速记指定的:

    jdbc,
    ehcache,
    ws,
    specs2 % Test,
    guice
    

    因此,要让它们工作,请确保在 project 目录的 .sbt 文件中包含如下所示的行:

    addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.10")
    

    这应该可以解决你的问题 .

    Bonus tip: 不需要以下行,并且因为每个附加解析器减慢SBT,您应该删除它们:

    resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"
    
    resolvers += "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/"
    
    resolvers := ("Atlassian Releases" at "https://maven.atlassian.com/public/") +: resolvers.value
    

相关问题