当前位置: 首页 > 知识库问答 >
问题:

我如何在JDK1.7中使用Scala?(不支持Major.Minor 52.0错误)

马祺
2023-03-14

这个“不支持Major.Minor 52.0版本”的错误快把我逼疯了。

谢谢,

编辑更多详细信息:

 $ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

$ sbt -sbt-version 0.13.16 ~jetty:start
[info] Loading project definition from /Users/dan/Projects/temp/ssltester/project
[info] Set current project to ssltester (in build file:/Users/dan/Projects/temp/ssltester/)
[info] starting server ...
[success] Total time: 0 s, completed Nov 7, 2017 4:35:49 PM
1. Waiting for source changes... (press enter to interrupt)
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/runner/Runner : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

[info] waiting for server to shut down...

build.sbt

name := "ssltester"

version := "1.0"

scalaVersion := "2.11.11"

resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"

libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "1.0.2"

libraryDependencies += "javax.servlet" % "javax.servlet-api" % "3.0.1" % "provided"

libraryDependencies += "org.codehaus.groovy.modules.http-builder" % "http-builder" % "0.5.2"

enablePlugins(JettyPlugin)
addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "3.0.1")

共有1个答案

齐雅畅
2023-03-14

Scala2.12需要一个Java8JVM和库。您将不得不使用当前版本的Java或过时版本的Scala。

现在,Traits使用default方法编译成interface,并且Scala lambda使用与Java8 lambda相同的编码。Java8 lambda主要是一个库特性,可以向后移植,但是接口中的方法实现是对字节码语言的一个向后不兼容的更改。

 类似资料:
  • 我正在尝试使用Java JTDS驱动程序连接到Scala中的数据库。然而,每当我尝试使用它时,我会得到一个错误,即(Java的?)是错的。 java.lang.unsupportedClassVersionError:net/sourceforge/jtds/jdbcx/jtdsDataSource:Unsupported major.minor版本51.0 null java版本“1.6.0_3

  • 问题内容: 我是Spring-Batch(和一般的Spring)的新手,并且一直在关注在线文档,以教自己如何完成此任务。我正在尝试连接到DB2数据库。 如果我这样声明XML的DB2连接: 然后将其加载到我的代码中,如下所示: 完美运作。如示例所示,我想如何使用DataSourceBuilder,所以最终我想去: 但是由于某种原因,它不起作用。我懂了 原因:java.lang.IllegalStat

  • 问题内容: 我在做xpath搜索 这为我提供了Firebug中所需的第一类项目,但显然python不允许我将[1]添加到find函数中。有什么解决方法吗?搜索返回2个项目,我只想要一个。我要解决这个错误吗? 问题答案: 与大多数Selenium WebDriver绑定一样,如果仅指定“ element”,则将仅返回找到的第一个元素。但是,如果在方法中指定“元素”,它将返回找到的元素数组。 因此,您

  • 问题内容: 我自己的班级需要什么支持才能打印出来?例如,我有: 类应使用什么方法来使此代码起作用?也许是这样的: 我猜测该方法必须重载。我对吗?这够了吗? 问题答案: 您可以使用来打印任何对象。println的此重载版本将打印出您的对象的表示形式。如果要自定义要打印的内容,则必须重写该方法,例如: 如果不重写该方法,将使用class的默认实现,该实现具有以下形式(类名称和实例哈希码的十六进制表示形

  • 我的苹果笔记本电脑专业版没有英伟达图形处理器。所以不可能运行CUDA。我想知道TensorFlow的早期版本中哪些支持苹果操作系统的图形处理器?我如何在Anaconda上安装?

  • 我开发android应用程序,经常使用注释作为编译时参数检查,大多是Android的支持注释。 java代码中的示例: 我不想使用枚举,因为它们在Android中存在性能问题。自动转换器到 kotlin 只会生成无效代码。如何在 kotlin 中使用注释?