简体   繁体   中英

Using IntelliJ, how to add dependency in an sbt project

I'm new to sbt and I wanted to learn it with a small Scala project in IntelliJ.

I started with the official sbt Getting Started guide, to learn the sbt basics on the console ( https://www.scala-sbt.org/1.x/docs/sbt-by-example.html ). Following the guide, everything compiles fine.

Then I created an sbt project in IntelliJ, trying to do the same thing there. When I add the org.scalatest depenpency to the build.sbt file the project can no longer compile. The error message is:

module not found: org.scalatest#scalatest_2.13;3.0.5

When I created the fresh sbt project in IntelliJ, first the build.sbt looked something like this:

name := "sbtTest"
version := "1.0"
scalaVersion := "2.13.0"

Then I added the dependency:

name := "sbtTest"
version := "1.0"
scalaVersion := "2.13.0"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.5" % Test

After reloading the build file and getting the error when compiling, I tried to change the biuld.sbt according to the code which already worked in the sbt Getting Started guide:

ThisBuild / scalaVersion := "2.13.0"
ThisBuild / organization := "me"
ThisBuild / version := "1.0"

lazy val sbtTest = (project in file("."))
  .settings(
    name := "sbtTest",
    libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.5" % Test
  )

This has again the same error after reloading and compiling.

My sbt version is 1.2.8.

Is something wrong with my build.sbt ? Or is the sbt version too new for IntelliJ? Is IntelliJ probably not the recommended IDE to create Sala sbt projects?

Structure of both your build.sbt is ok. The thing seems to be in versions.

Scalatest 3.0.5 is currently unavailable for Scala 2.13.0. It's available for Scala 2.13.0-M2.

It's Scalatest 3.0.8 that is available for Scala 2.13.0.

https://mvnrepository.com/artifact/org.scalatest/scalatest

After you fix versions in build.sbt re-import IntelliJ project in pop-up window

弹出窗口

or in sbt tool window

sbt工具窗口

or in sbt shell

sbt shell

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