使用 akka-http 模板的新 sbt 应用程序,如何确定解析器并添加 maven Central?

Posted

技术标签:

【中文标题】使用 akka-http 模板的新 sbt 应用程序,如何确定解析器并添加 maven Central?【英文标题】:New sbt application using the akka-http template, how to determine resolvers and add maven central? 【发布时间】:2021-02-12 09:32:12 【问题描述】:

我有一个使用 akka http g8 模板构建的新 sbt 应用程序。

我正在尝试将 reactivemongo 1.0 添加到我的构建中,但出现此错误:

not found: https://repo1.maven.org/maven2/org/reactivemongo/reactivemongo_2.13/1.0/reactivemongo_2.13-1.0.pom

文档说这个库位于 Maven 中心。

如何确定我的项目当前在 sbt 中默认使用的解析器?

这个库有没有可能不是为 scala 2.13.3 或 2.13.1 构建的?

如何调试此类错误。

谢谢!

build.sbt:

import Dependencies._

lazy val akkaHttpVersion = "10.2.1"
lazy val akkaVersion     = "2.6.10"

lazy val root = (project in file("."))
  .settings(
    inThisBuild(
      List(
        organization := "com.example",
        scalaVersion := "2.13.3"
      )
    ),
    name := "akka-http",
    libraryDependencies ++= Seq(
          "com.typesafe.akka"        %% "akka-http"                % akkaHttpVersion,
          "com.typesafe.akka"        %% "akka-http-spray-json"     % akkaHttpVersion,
          "com.typesafe.akka"        %% "akka-actor-typed"         % akkaVersion,
          "com.typesafe.akka"        %% "akka-stream"              % akkaVersion,
          "ch.qos.logback"           % "logback-classic"           % "1.2.3",
          "com.softwaremill.macwire" %% "macros"                   % "2.3.3" % "provided",
          "com.softwaremill.macwire" %% "util"                     % "2.3.3" % "provided",
          "com.github.blemale"       %% "scaffeine"                % "3.1.0" % "compile",
          "org.typelevel"            %% "cats-core"                % "2.1.1",
          "com.lihaoyi"              %% "scalatags"                % "0.8.2",
          "com.github.pureconfig"    %% "pureconfig"               % "0.13.0",
          "org.reactivemongo"        %% "reactivemongo"            % "1.0",
          "com.typesafe.akka"        %% "akka-http-testkit"        % akkaHttpVersion % Test,
          "com.typesafe.akka"        %% "akka-actor-testkit-typed" % akkaVersion % Test,
          "org.scalatest"            %% "scalatest"                % "3.0.8" % Test
        )
  )
  .enablePlugins(JavaAppPackaging)

【问题讨论】:

请在问题中包含您的 build.sbt 文件 【参考方案1】:

您可以尝试将"org.reactivemongo" %% "reactivemongo" % "1.0" 替换为"org.reactivemongo" %% "reactivemongo" % "1.0.0" % "provided" 吗?

我从 Maven 存储库 https://mvnrepository.com/artifact/org.reactivemongo/reactivemongo_2.13/1.0.0 复制它

【讨论】:

将其更改为“1.0.0”使其工作,并且看起来像我的一个愚蠢的错误,因为所有依赖项都有 x.x.x 模式!谢谢。

以上是关于使用 akka-http 模板的新 sbt 应用程序,如何确定解析器并添加 maven Central?的主要内容,如果未能解决你的问题,请参考以下文章

如何在scala中自动重新运行sbt项目

基于akka-http搭建restfull框架

使用 Akka-Http 进行身份验证

Akka-Http 中的实体是啥?

未找到 SBT 主类“未”

一个使用sbt编译的JNI C++ 的模板