当前位置: 首页 > 知识库问答 >
问题:

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

云俊美
2023-03-14

使用IntelliJ最新的scala插件sbt 13.8和scala 2.11.7的新sbt项目,我尝试添加一个库-akka 2.4.2。在此之后,我简单地添加

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

[信息]解析org.scala-sbt#test-agent;0.13.8...

[信息]解析org.scala-SBT#test-interface;1.0..

[信息]解析org.scala-sbt#main-settings;0.13.8...

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

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

[trace]堆栈跟踪已取消:为完整输出运行“last common/*:update”。

[trace]堆栈跟踪已取消:为完整输出运行“last common/*:ssextractdependencies”.

[trace]堆栈跟踪已取消:为完整输出运行“last app1/*:ssextractdependencies”.

如果我将project设置为2.11.7,为什么sbt要尝试查找akka-actor2.10

更新:

明确说明版本,

import Dependencies._


name := "coolApps"

version := "1.0"

scalaVersion := "2.11.7"

lazy val common = (project in file("common")).
settings(Commons.settings: _*).
settings(
libraryDependencies ++= commonDependencies
 // dependencyOverrides += "org.scala-lang" % "scala-library" % scalaVersion.value
)

lazy val app1 = (project in file("app1")).
 settings(Commons.settings: _*).
 settings(
libraryDependencies ++= app1Dependencies
 ).
dependsOn(common)

dependencies.scala

object Dependencies {


val akka = "com.typesafe.akka" %% "akka-actor" % "2.4.2"


val commonDependencies: Seq[ModuleID] = Seq(
 akka
 )

val app1Dependencies: Seq[ModuleID] = Seq()
}

Commons.Scala

import sbt._
import Keys._


object Commons {
  val coolAppVersion = "1.0"

  val settings: Seq[Def.Setting[_]] = Seq(
   organization := "com.company",
   version := coolAppVersion,
   scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8"),
   resolvers ++= Seq(
    "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/"
  )
 )
}

共有1个答案

臧威
2023-03-14

在build.sbt中,需要设置键

scalaVersion := "2.11.7"

如果您不设置这个,它将使用SBT本身使用的scala,它是2.10.x版本。

 类似资料:
  • 我正在使用IntelliJ开发Spark应用程序。我正在遵循这个关于如何使intellij与SBT项目良好地工作的指导。 但这样我就无法在IntelliJ内部运行应用程序,因为类路径中不会包含spark依赖项。

  • 导入SBT项目时出错: ... 关于如何解决这个问题的任何建议。导入在另一台机器上运行良好。我看到了.ivy2文件夹中的jar文件。

  • 版本:=“1.0” scalaVersion:=“2.11.8” ivyScala:=ivyScala.Value map{_.copy(overrideScalaVersion=true)} libraryDependencies+=“org.apache.spark”%%“Spark-Core”%“2.1.0” 当我尝试用sbt组装jar时,我试图将spark引入我的开发环境,但它失败了,并且

  • 关于解决依赖关系,我与sbt有一些问题。 built.sbt Sbt版本:来自arch community repository的Sbt 1.0.0-2 运行操作系统:Antergos内核4.12.8-2-arch

  • 试图遵循O'Reilly的“编程Scala”一书中的示例。下载并安装sbt,使用:brew install sbt@1似乎已成功。然后在命令行输入“sbt”或“sbt-v”(在Mac上bash)后,我会得到: 格伦

  • 我试图构建一个具有spark依赖关系的非常基本的scala脚本。但我不能用它做罐子。 我的scala源代码在: /exampleapp/main/scala/example/hello.scala 项目名为exampleapp。