Я просто пытаюсь выполнить простое приложение Hello World в Scala на Intellij с SBT, но даже это... это кажется слишком сложным.
Я следовал инструкциям здесь: https://www.cloudera.com/tutorials/setting-up-a-spark-development-environment-with-scala/.html
Я использую для работы с Eclipse и Maven... Здесь я на Intellij и SBT, поэтому я стараюсь изо всех сил, но я немного потерян. Вот что я сделал:
- Я установил Intellij, SBT.
- Я настроил модуль запуска SBT в Intellij, выбрав "Файл"> "Настройки"> "Сборка, выполнение, развертывание"> "Инструменты сборки"> "sbt"> "Модуль запуска"
- .Создать новый проект с Java 1.8, SBT 1.3, Scala 2.13
- На этом шаге я не смог создать класс Scala, но я заметил, что если я "Reimport sbt project", то класс scala появится в списке нового элемента для создания.
- Создайте объект основным методом:
object HelloScala {
def main(args: Array[String]): Unit = {
println("Hello world!")
}
}
Когда я пытаюсь выполнить это основное, это приводит к следующей ошибке:
Error:scalac: Multiple 'scala-library*.jar' files (scala-library-2.13.0.jar, scala-library-2.13.0.jar) in Scala compiler classpath in Scala SDK sbt: org.scala-lang:scala-library:2.13.0:jar
Мой build.sbt:
name := "HelloScala"
version := "0.1"
scalaVersion := "2.13.0"
Я проверил путь к классам компилятора в "Файл"> "Структура проекта"> "Библиотеки"> "Путь к классам компилятора":
file:///AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar
file:///AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.0/scala-compiler-2.13.0.jar
file:///AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.0/scala-library-2.13.0.jar
file:///AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.0/scala-reflect-2.13.0.jar
Я попытался удалить целевой каталог, сделать недействительным кеш, восстановить папку .idea, удалив ее и разрешив intellij воссоздать ее, я искал в другом scala-library.jar в структуре проекта. Я ничего не нашел...
Действительно... Я не понимаю, почему на библиотеку scala ссылаются дважды.
Если я изменю версию scala с 2.13.0 на 2.11.0, та же проблема:
Error:scalac: Multiple 'scala-library*.jar' files (scala-library-2.11.0.jar, scala-library-2.11.0.jar) in Scala compiler classpath in Scala SDK sbt: org.scala-lang:scala-library:2.11.0:jar
НО ! Если я прокомментирую версию scala в build.sbt:
name := "HelloScala"
version := "0.1"
//scalaVersion := "2.11.0"
Затем, если я очищаю целевой каталог, повторно импортирую проект sbt и пытаюсь выполнить, он работает! И в целевом каталоге у меня есть новая папка scala-2.12... Откуда, черт возьми, она взялась?!
Для информации, я на Windows 10, Intellij 2019.2, JDK 1.8, SBT 13
Любая помощь очень ценится!