【问题标题】:Unresolved dependency when trying to install SecureSocial in Play尝试在 Play 中安装 SecureSocial 时未解决的依赖关系
【发布时间】:2013-11-26 12:13:06
【问题描述】:

使用 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/,我看不到任何类似于之前编写的路径的内容。例如,您可以看到 docs 和 source 的放置位置,但是是 JAR 格式,而不是 pom:

我做错了吗?

谢谢!

【问题讨论】:

    标签: scala playframework-2.0 securesocial


    【解决方案1】:

    SecureSocial 使用Ivy 样式的存储库,而不是Maven 样式。因此,您必须声明您的解析器以使用 Ivy 样式:

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

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

    Maven 和 Ivy 规定了不同的目录结构。 SBT 两者都支持,但默认为 Maven 风格。所以如果你想使用一个使用另一个目录结构的仓库,你必须告诉 sbt 是哪个结构。

    此外,

    addSbtPlugin("securesocial" %% "securesocial" % "2.1.2")
    

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

    libraryDependencies += "securesocial" %% "securesocial" % "2.1.2"
    

    【讨论】:

    • 非常感谢,真的。您的每一个 cmet 对解决这种情况都很重要。现在它正在编译,我感觉好像已经下载了模块,但是我在项目中找不到它,也无法导入securesocial.core_。你能帮帮我吗?
    • 库被下载到 ~/.ivy2/cache/,而不是项目目录。此外,您不必手动编译 Play 项目,只需打开网页即可。除此之外,我帮不了你,你可能应该打开另一个问题,因为它与这个问题并没有真正的关系
    • 绝对是 Mef,我不知道这是否相关。真的谢谢。正如我所说,您在回答中提出的每一点都很重要。似乎如果我按照说明添加一个 Build.scala (即使 Play 默认不制作),它也可以工作。
    • fyi,我注意到 SecureSocial 文档列出了 2.1.3 版本,但 ivy 存储库中没有 2.1.3 版本,只有 2.1.2。这让我大吃一惊。
    • 开始 2.1.3 SecureSocial 发布到 Maven Central。 @TimCull 你可能在我更新文档之前看到了这个网站。
    猜你喜欢
    • 2013-11-02
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2019-12-17
    • 2018-08-18
    • 2014-06-13
    相关资源
    最近更新 更多