SBT多项目中未解决的依赖关系
使用用于IntelliJ的最新scala插件SBT13.8和Scala2.11.7的新sbt项目,我尝试添加一个库——akka 2.4.2。下面,我简单地补充一下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
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,这些项目应该有助于调试它。