Scala sbt run - "不支持的major.minor版本52.0"

sbb*_*bbs 22 scala sbt

当我使用IntelliJ时,事情运行没有任何问题,但是当我尝试在命令行中编译并运行我的Scala代码时,会sbt run弹出以下错误消息.

[error] (run-main-0) java.lang.UnsupportedClassVersionError: akka/event/LogSource : Unsupported major.minor version 52.0
java.lang.UnsupportedClassVersionError: akka/event/LogSource : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
        at java.lang.Class.getMethod0(Class.java:2866)
        at java.lang.Class.getMethod(Class.java:1676)
Run Code Online (Sandbox Code Playgroud)

我正在使用Ubuntu 14.04 LTS.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty
Run Code Online (Sandbox Code Playgroud)

而我的Scala版本是2.9.2.

$ scalac -version
Scala compiler version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL
Run Code Online (Sandbox Code Playgroud)

我几周前几乎没有开始学习Scala,所以如果有人能就我应该研究的内容提供一些建议,我将不胜感激.

sbb*_*bbs 26

事实证明,JRE版本存在不匹配.在IntelliJ项目设置中,项目SDK设置为Java 1.8(在我的本地计算机上),而JRE 1.7安装在Ubuntu系统(EC2实例)上.

在Ubuntu 14.04中,默认情况下OpenJDK 1.8不可用,因此必须手动添加以下存储库.然后可以安装OpenJDK.

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jre
Run Code Online (Sandbox Code Playgroud)

可以通过运行以下命令来更改系统中的默认Java版本.

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

一旦我openjdk-8-jre在系统中安装并调整了默认的Java版本,该sbt run命令就会运行没有任何问题.