Как заставить sbt работать в Fedora 28?
Репозитории Fedora 28 предоставляют только старый sbt: sbt-0.13.1-9.fc28.1.noarch
Начало работы sbt рекомендует установить новый sbt: https://www.scala-sbt.org/1.0/docs/Installing-sbt-on-Linux.html
$ curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo
$ sudo dnf --enablerepo=bintray--sbt-rpm install sbt
После этого:
$ rpm -q sbt
sbt-1.2.8-0.noarch
Попробуем первый пример HelloWorld: https://www.scala-sbt.org/0.13/docs/Hello.html
$ mkdir -p $HOME/projects/sbt
$ cd $HOME/projects/sbt
$ sbt new sbt/scala-seed.g8
java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object;
at sbt.xMain.run(Main.scala:74)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:18)
at xsbt.boot.Boot$.runImpl(Boot.scala:56)
at xsbt.boot.Boot$.main(Boot.scala:18)
at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object;
$ sbt -d new sbt/scala-seed.g8
[addSbt] arg = '-debug'
[residual] arg = 'new'
[residual] arg = 'sbt/scala-seed.g8'
[residual] arg = 'new'
[residual] arg = 'sbt/scala-seed.g8'
[process_args] java_version = '8'
# Executing command line:
java
-Xms1024m
-Xmx1024m
-XX:ReservedCodeCacheSize=128m
-XX:MaxMetaspaceSize=256m
-jar
/usr/share/sbt/bin/sbt-launch.jar
-debug
new
sbt/scala-seed.g8
java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object;
at sbt.xMain.run(Main.scala:74)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:18)
at xsbt.boot.Boot$.runImpl(Boot.scala:56)
at xsbt.boot.Boot$.main(Boot.scala:18)
at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object;
Что может быть не так, отсутствует, сломан?
Версии Java и Scala в Fedora 28:
java-1.8.0-openjdk-1.8.0.212.b04-0.fc28.x86_64
java-1.8.0-openjdk-devel-1.8.0.212.b04-0.fc28.x86_64
scala-2.10.6-8.fc28.noarch
scala-swing-2.10.6-8.fc28.noarch
(Использовал бы тег sbt, но usersuper.ru жаловался: "Создание нового тега sbt требует как минимум 300 репутации. Вместо этого попробуйте что-нибудь из существующего списка тегов".)