首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Scala sbt运行-“不支持的major.minor版本52.0”

Scala sbt运行-“不支持的major.minor版本52.0”
EN

Stack Overflow用户
提问于 2016-08-29 09:38:57
回答 3查看 17.3K关注 0票数 26

当我在IntelliJ上工作时,运行起来没有任何问题,但是当我尝试在命令行(使用sbt run)编译和运行Scala代码时,弹出以下错误消息。

代码语言:javascript
复制
[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)

我使用的是Ubuntu 14.04 LTS。

代码语言:javascript
复制
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

我的Scala版本是2.9.2。

代码语言:javascript
复制
$ scalac -version
Scala compiler version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-29 09:38:57

事实证明,JRE版本中存在不匹配。在IntelliJ项目设置中,项目SDK设置为Java1.8(在我的本地机器上),而JRE1.7安装在Ubuntu系统上(一个EC2实例)。

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

代码语言:javascript
复制
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jre

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

代码语言:javascript
复制
sudo update-alternatives --config java

一旦我在系统中安装了openjdk-8-jre并调整了默认的Java版本,sbt run命令就可以正常运行。

票数 27
EN

Stack Overflow用户

发布于 2017-12-27 21:16:02

更新到正确的java版本,然后重新编译。它应该工作得很好

票数 1
EN

Stack Overflow用户

发布于 2018-01-12 02:58:49

我突然开始在Windows10上遇到这个错误,原来我的路径不知何故恢复到了一个旧版本的java jdk。为了更彻底,我首先升级到最新的jdk (从甲骨文的here ),对我来说是8u152。然后,我将路径条目更正为

代码语言:javascript
复制
c:\Program Files\Java\jdk1.8.0_152\bin

(这与32位版本略有不同。)然后我验证了javac -version确实返回了1.8.0_152 (确保打开一个新的终端--一个已经打开的终端会记住旧的路径)。

然后sbt run开始工作了。(再次记住从新的终端执行此操作,以便路径是新的。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39197422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档