简体   繁体   English

如何在JDK 1.7中使用Scala? (不支持的major.minor 52.0错误)

[英]How can I use Scala with JDK 1.7? (Unsupported major.minor 52.0 Error)

this "unsupported major.minor 52.0 version" error is driving me nuts. 这个“不受支持的major.minor 52.0版本”错误使我发疯。

How can I get scala to use jdk 1.7. 我如何获得Scala以使用jdk 1.7。 My SBT project needs to be 1.7 and I cannot run sbt or scala unless I set my java_home to 1.8. 我的SBT项目需要为1.7,除非将java_home设置为1.8,否则我将无法运行sbt或scala。

My google foo is not strong since there are so many results for this vague-keyword problem. 我的谷歌foo不强,因为这个模糊关键字问题有很多结果。

Do I need to install different version of scala? 我需要安装不同版本的Scala吗? sbt? sbt?

Thanks, 谢谢,

Edit More details: 编辑更多详细信息:

 $ 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 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)

./project/build.sbt ./project/build.sbt

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

Scala 2.12 requires a Java 8 JVM and library . Scala 2.12需要Java 8 JVM和库 You will either have to use a current version of Java or an outdated version of Scala. 您将不得不使用Java的当前版本或Scala的过时版本。

Traits now compile to interface s with default methods, and Scala lambdas use the same encoding as Java 8 lambdas do. 特性现在可以使用default方法编译为interface ,并且Scala lambda使用与Java 8 lambda相同的编码。 Java 8 lambdas are mostly a library feature and could be backported , but method implementations in interfaces are a backwards-incompatible change to the bytecode language. Java 8 lambda大多是库功能,可以向后移植 ,但是接口中的方法实现是字节码语言的向后不兼容更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在JDK 1.7中编译和运行时,不支持major.minor版本52.0错误 - Unsupported major.minor version 52.0 error while compiling and running in JDK 1.7 尝试在Jenkins上使用SonarQube来分析项目,但是Jenkins使用JDK 1.7,并且出现了不受支持的major.minor版本错误 - Trying to use SonarQube on Jenkins to analyze project, but Jenkins using JDK 1.7 and I am getting an unsupported major.minor version error 使用JDK7进行sbt clean编译后,Scala测试“不支持的major.minor版本52.0” - Scala Test “Unsupported major.minor version 52.0” after sbt clean compile with JDK7 JDK 8的Maven问题:不支持的major.minor版本52.0 - Maven trouble with JDK 8 : Unsupported major.minor version 52.0 我该如何解决:“评估项目':app'时出错。不支持的major.minor 52.0版 - How do I resolve: "Error evaluating project ':app'.Unsupported major.minor version 52.0 不支持的major.minor版本52.0 - Maven Error JAVA - Unsupported major.minor version 52.0 - Maven Error JAVA MAC OS 上的错误不受支持的major.minor 版本 52.0 eclipse - error unsupported major.minor version 52.0 eclipse on MAC OS 不支持的major.minor版本52.0-Android构建错误-Unity - Unsupported major.minor version 52.0 - Android Build Error - Unity Android Project构建错误:不支持的major.minor版本52.0 - Android Project Build Error:Unsupported major.minor version 52.0 Netbeans 8.0 Unsupported major.minor 版本 52.0 错误 - Netbeans 8.0 Unsupported major.minor version 52.0 error
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM