SBT多项目中未解决的依赖关系

SBT多项目中未解决的依赖关系,sbt,akka,Sbt,Akka,使用用于IntelliJ的最新scala插件SBT13.8和Scala2.11.7的新sbt项目,我尝试添加一个库——akka 2.4.2。下面,我简单地补充一下 libraryDependencies+=“com.typesafe.akka”%%“akka actor”%%“2.4.2” 但我得到一个未解决的依赖项错误: 错误:导入SBT项目时出错: [信息]解决组织scala sbt任务;0.13.8 [信息]解析组织scala sbt#跟踪;0.13.8 [信息]解析org.scala s

使用用于IntelliJ的最新scala插件SBT13.8和Scala2.11.7的新sbt项目,我尝试添加一个库——akka 2.4.2。下面,我简单地补充一下

libraryDependencies+=“com.typesafe.akka”%%“akka actor”%%“2.4.2”

但我得到一个未解决的依赖项错误:

错误:导入SBT项目时出错:

[信息]解决组织scala sbt任务;0.13.8

[信息]解析组织scala sbt#跟踪;0.13.8

[信息]解析org.scala sbt#cache;0.13.8

[信息]解决组织scala sbt测试;0.13.8

[信息]解析org.scala sbt#测试代理;0.13.8

[信息]解析org.scala sbt#测试接口;1.0

[信息]解析org.scala sbt#主设置;0.13.8

[信息]解析org.scala sbt#apply宏;0.13.8

[信息]解析org.scala sbt#命令;0.13.8

[信息]解析org.scala sbt#逻辑;0.13.8

[信息]解析org.scala sbt#预编译-2_8_2;0.13.8

[信息]解析org.scala sbt#预编译-2_9_2;0.13.8

[信息]解析org.scala sbt#预编译-2_9_3;0.13.8

[trace]堆栈跟踪被抑制:对完整输出运行“last common/*:update”

[trace]堆栈跟踪被抑制:对完整输出运行“last common/*:ssExtractDependencies”

[trace]堆栈跟踪被抑制:运行“last” app1/*:用于完整输出的ssExtractDependencies

[error](common/*:update)sbt.ResolveException:未解析的依赖项:com.typesafe.akka#akka actor_2.10;2.4.2:未找到

[error](common/*:ssExtractDependencies)sbt.ResolveException:未解析的依赖项:com.typesafe.akka#akka-actor_2.10;2.4.2:未找到

[错误](app1/*:ssExtractDependencies)sbt.ResolveException: 未解决的依赖项:com.typesafe.akka#akka-actor_2.10;2.4.2:未找到

如果我将项目设置为2.11.7,sbt为什么要查找akka-actor_2.10

更新:

明确声明版本

libraryDependencies+=“com.typesafe.akka”%”akka-actor_2.11“%”2.4.2“

工作正常,但随后会收到SBT项目导入警告:

[警告]Scala版本已由库依赖项之一更新:

[警告]依赖关系org.scala lang#scala库的二进制版本(2.11);2.11.7[警告]在com.myorg#common$sources_2.10中;1.0在项目(2.10)中不同于Scala二进制版本

[警告]具有相同组织/名称但版本不同的多个依赖项。要避免冲突,请选择一个版本: [警告]*org.scala lang:scala库:(2.11.7,2.10.4)

编辑:

build.sbt

导入依赖项_
名称:=“coolApps”
版本:=“1.0”
规模规避:=“2.11.7”
lazy val common=(文件中的项目(“common”))。
设置(Commons.settings:*)。
背景(
libraryDependencies++=commonDependencies
//dependencyOverrides+=“org.scala lang”%”scala库“%scalaVersion.value”
)
lazy val app1=(文件中的项目(“app1”))。
设置(Commons.settings:*)。
背景(
libraryDependencies++=app1Dependencies
).
德彭森(普通)
scala

对象依赖关系{
val akka=“com.typesafe.akka”%%“akka演员”%%“2.4.2”
val commonDependencies:Seq[ModuleID]=Seq(
阿克卡
)
val app1Dependencies:Seq[ModuleID]=Seq()
}
斯卡拉公地酒店

导入sbt_
导入密钥_
对象共享{
val coolAppVersion=“1.0”
val设置:顺序[定义设置[]]=顺序(
组织机构:=“com.company”,
版本:=coolAppVersion,
scalacOptions:=Seq(“-unchecked”、“-deprecation”、“-encoding”、“utf8”),
分解器+++=Seq(
“类型安全版本”位于http://repo.typesafe.com/typesafe/releases/"
)
)
}

在build.sbt中,您需要设置密钥

scalaVersion := "2.11.7"

如果不设置此选项,它将使用SBT本身使用的scala,它是2.10.x版本

你的构建是什么。sbt?我会进行编辑并添加构建。sbt在执行sbt多项目时,可能需要在每个子项目中设置缩放比例?是的。这就解决了问题。我把这个问题改成了一个更相关的问题,以防有人搜索,这提醒我们在子项目中也要设置Scala版本(在我的例子中,将Scalaversation添加到公共设置中)是的。。每个项目彼此独立,因此不继承任何设置。我相信你知道。。但对于其他观察家来说。。如果您确实“显示Scalaversation”,那么它将显示所有项目的Scalaversation,这些项目应该有助于调试它。