简体   繁体   中英

SBT, Scala version mismatch

i have installed Scala 2.11.8 version, and i installed SBT 0.13.12 version as well.

when i create one directory and inside that directory typed sbt and sbt prompt opened. Inside SBT prompt , when i checked libraryDependencies i found like this:

sbt:sparkp> libraryDependencies
[info] * org.scala-lang:scala-library:2.12.4

But in machine, i have installed scala 2.11.8 version, when i checked scala -version it shows

hadoop@localhost:~$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL

Did i made any mistake while installing sbt ? or i need to change any configuration properties after installation?

please help out.

Note: There are some questions regarding this error in stackoverflow , but i didn't get exact answer that's why i am asking new question.

The Scala version of a project in SBT is completely unrelated to one you have installed and available from command line. This is a very good thing for several reasons:

  1. Everyone who builds a project doesn't get different result depending on Scala version they have installed.

  2. You don't need to install multiple Scala versions and switch between them all the time to work on multiple projects.

  3. Many projects should be built with multiple Scala versions, see http://www.scala-sbt.org/0.13/docs/Cross-Build.html .

If you are creating a new project, you should specify scalaVersion := "2.11.8" (or any other you want) in build.sbt in this project.

In my opinion the scala version you are getting is the version with which sbt is built with.

The solution to your is to find global.sbt file which is usually in ~/.sbt/<version>/global.sbt

and add following line

scalaVersion := "2.11.8"

Your problem should be solved.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM