【问题标题】:Unresolved dependencies in sbt 0.13.1 while building basic scala 2.12.8 project using akka 2.5.24使用 akka 2.5.24 构建基本 scala 2.12.8 项目时 sbt 0.13.1 中未解决的依赖关系
【发布时间】:2019-12-25 00:09:36
【问题描述】:

嗯,我必须在 Scala 中为我的计算机网络课程编写一个客户端-服务器程序。我在begginng,只是想在Scala 2.12.8 中使用akka 2.5.24 编译一些hello world(因为它有网络设施)。但是当我使用 sbt 0.13.1 执行 $ sbt run 时,我遇到了未解决的依赖问题。

在这个任务中,我试图在 Fedora 30 中运行下面的代码。我已经尝试更改 scala 和 akka 版本,删除 ~/.sbt~/.iv2 并使用另一个 sbt 版本(1.2.8 )。所有的尝试都没有成功。下面我展示了 sbt 0.13.1 的尝试。

scala 代码:

import akka.actor.{ Actor, ActorRef, Props }
import akka.io.{ IO, Tcp }
import akka.util.ByteString
import java.net.InetSocketAddress

sbt 配置:

name := "scala-transfer-file"

version := "0.1"

scalaVersion := "2.12.8"

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

libraryDependencies += "com.typesafe.akka" % "akka-actor" % "2.5.24"

我只是在等待成功消息或其他东西,因为它只是导入包。但我得到的是

[info] Set current project to scala-transfer-file (in build file:/home/canmarshavelife/git/scala-transfer-file/)
[info] Updating {file:/home/canmarshavelife/git/scala-transfer-file/}scala-transfer-file...
[info] Resolving com.typesafe.akka#akka-actor;2.5.24 ...
[warn]  module not found: com.typesafe.akka#akka-actor;2.5.24
[warn] ==== local: tried
[warn]   /home/canmarshavelife/.ivy2/local/com.typesafe.akka/akka-actor/2.5.24/ivys/ivy.xml
[warn] ==== fedora: tried
[warn]   file:/usr/share/sbt/ivy-local/com.typesafe.akka/akka-actor/2.5.24/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor/2.5.24/akka-actor-2.5.24.pom
[warn] ==== sonatype-snapshots: tried
[warn]   https://oss.sonatype.org/content/repositories/snapshots/com/typesafe/akka/akka-actor/2.5.24/akka-actor-2.5.24.pom
[warn] ==== Typesafe Repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/com/typesafe/akka/akka-actor/2.5.24/akka-actor-2.5.24.pom
[info] Resolving org.sonatype.oss#oss-parent;9 ...
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar ...
[info]  [SUCCESSFUL ] org.scala-lang#scala-library;2.12.8!scala-library.jar (8567ms)
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar ...
[info]  [SUCCESSFUL ] org.scala-lang#scala-compiler;2.12.8!scala-compiler.jar (11382ms)
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8.jar ...
[info]  [SUCCESSFUL ] org.scala-lang#scala-reflect;2.12.8!scala-reflect.jar (3136ms)
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar ...
[info]  [SUCCESSFUL ] org.scala-lang.modules#scala-xml_2.12;1.0.6!scala-xml_2.12.jar(bundle) (2030ms)
[info] downloading https://repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar ...
[info]  [SUCCESSFUL ] jline#jline;2.14.6!jline.jar (1226ms)
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.typesafe.akka#akka-actor;2.5.24: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: unresolved dependency: com.typesafe.akka#akka-actor;2.5.24: not found
        at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:213)
        at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:122)
        at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:121)
        at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:116)
        at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:116)
        at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:104)
        at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:51)
        at sbt.IvySbt$$anon$3.call(Ivy.scala:60)
        at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:98)
        at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:81)
        at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:102)
        at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:102)
        at xsbt.boot.Using$.withResource(Using.scala:11)
        at xsbt.boot.Using$.apply(Using.scala:10)
        at xsbt.boot.Locks$GlobalLock.withFileLock(Locks.scala:102)
        at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:62)
        at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:52)
        at xsbt.boot.Locks$.apply0(Locks.scala:38)
        at xsbt.boot.Locks$.apply(Locks.scala:28)
        at sbt.IvySbt.withDefaultLogger(Ivy.scala:60)
        at sbt.IvySbt.withIvy(Ivy.scala:101)
        at sbt.IvySbt.withIvy(Ivy.scala:97)
        at sbt.IvySbt$Module.withModule(Ivy.scala:116)
        at sbt.IvyActions$.update(IvyActions.scala:121)
        at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1161)
        at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1159)
        at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$73.apply(Defaults.scala:1182)
        at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$73.apply(Defaults.scala:1180)
        at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:35)
        at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1184)
        at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1179)
        at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:45)
        at sbt.Classpaths$.cachedUpdate(Defaults.scala:1187)
        at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1152)
        at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1130)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
        at sbt.std.Transform$$anon$4.work(System.scala:64)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
        at sbt.Execute.work(Execute.scala:244)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
[error] (*:update) sbt.ResolveException: unresolved dependency: com.typesafe.akka#akka-actor;2.5.24: not found
[error] Total time: 39 s, completed 19/08/2019 15:24:08

我该怎么办?

【问题讨论】:

    标签: scala sbt akka


    【解决方案1】:

    改变

    libraryDependencies += "com.typesafe.akka" % "akka-actor" % "2.5.24"
    

    libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.5.24"
    

    这显然是documented%% 导致 sbt 将 Scala 版本添加到工件名称 ("akka-actor")。

    【讨论】:

    • 你说得对,对不起我的疏忽。但它根本没有解决问题,现在我收到以下错误:pastebin.com/fXgRZ28u。请问你知道怎么解决吗? Ps:现在显然我正在使用 sbt 1.2.8。
    猜你喜欢
    • 2014-10-24
    • 2017-10-29
    • 1970-01-01
    • 2016-06-04
    • 2017-06-13
    • 2012-03-30
    • 2016-03-26
    • 2015-11-04
    • 1970-01-01
    相关资源
    最近更新 更多