尝试在Play中安装SecureSocial时未解决的依赖关系

Jac*_*cob 4 scala playframework-2.0 securesocial

使用Scala和Play的第一步.我正在尝试安装SecureSocial插件,但我不能.我对解决方案本身感兴趣,任何事情(答案或资源)都可以提高我对工具的了解.

在Scala网页(http://securesocial.ws/guide/installation.html)中,说明如下:

这是第一个问题.我没有Build.scala.无论如何,我有一个/project/plugins.sbt具有非常相似的结构.

即使使用不同的格式,我也可以添加以下内容:

当我尝试编译时,会出现一个巨大的异常堆栈.基本上:

  • sbt.ResolveException:未解析的依赖项:securesocial #securesocial; 2.1.2:未找到

似乎在尝试:

如果我查看http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/,我看不到任何类似于之前写的路径.例如,您可以看到放置文档和源的位置,但是以JAR格式,而不是pom:

我完全错了吗?

谢谢!

Leo*_*Leo 5

SecureSocial使用Ivy -Style存储库,而不是Maven样式.因此,您必须声明您的解析器使用常春藤样式:

resolvers += Resolver.url("sbt-plugin-releases", 
    new URL("http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/"))
    (Resolver.ivyStylePatterns)
Run Code Online (Sandbox Code Playgroud)

(为了便于阅读,增加了换行符)

Maven和Ivy规定了不同的目录结构.SBT支持两者,但默认为Maven样式.因此,如果您想使用使用其他目录结构的存储库,您必须告诉sbt是哪个结构.

此外,

addSbtPlugin("securesocial" %% "securesocial" % "2.1.2")
Run Code Online (Sandbox Code Playgroud)

不是包含依赖项的正确选择 - 它用于包含sbt本身的插件.相反,使用

libraryDependencies += "securesocial" %% "securesocial" % "2.1.2"
Run Code Online (Sandbox Code Playgroud)

  • 库被下载到〜/ .ivy2/cache /,而不是项目目录.此外,您不必手动编译Play项目,只需打开网页即可.除此之外,我无法帮助你,你应该打开另一个问题,因为它与这个问题并不真正相关 (2认同)