带有Vaadin和jInstagram的不受支持的major.minor版本51.0

时间:2014-06-01 04:39:47

标签: java vaadin instagram vaadin7

我目前正在使用Vaadin 7框架和jInstagram(用于Instagram API的Java包装器)库来创建Web应用程序。我正在使用的服务器运行jetty。

在OSX 10.9上使用Eclipse Kepler

问题是我一直收到这个错误:

" java.lang.UnsupportedClassVersionError:com / example / test / testUI $ Servlet:不支持的major.minor版本51.0"

我已经安装了JRE 7并将项目设置更改为使用JRE 7.

有谁知道我收到此错误的原因?

3 个答案:

答案 0 :(得分:3)

  

有谁知道我收到此错误的原因?

问题是实际运行Jetty服务器的JVM和你的webapp代码不是Java 7.不幸的是,你还没有告诉我们足够让我们知道为什么会这样,但它是可以做的事情与Jetty服务器的启动方式。

答案 1 :(得分:0)

  

有谁知道我收到此错误的原因?

当您尝试运行版本低于用于编译代码的版本的Java代码时,您将收到此错误。即使代码是在Java 6中编译并在Java 7中运行,代码也应该工作。因此,我可以看到您收到该错误的唯一原因是,虽然您已将项目设置设置为使用Java 7,但它仍然使用较小的版本。您可以将模块特定设置检查为覆盖项目级别设置。还要检查所使用的java环境变量,因为如果从命令行运行服务器,那么这些变量将被选中。您可以尝试java -version。另请参阅JAVA_HOME变量是否设置为Java 7 JDK目录。

答案 2 :(得分:0)

Java版本如下。

  J2SE 8 = 52,
    J2SE 7 = 51,
    J2SE 6.0 = 50,
    J2SE 5.0 = 49,
    JDK 1.4 = 48,
    JDK 1.3 = 47,
    JDK 1.2 = 46,
    JDK 1.1 = 45

根据包描述,它似乎是你的类(你已经编写了src)。当您使用更高/更低版本的jdk编译源文件然后在运行时使用的版本时,通常会抛出异常。

要解决此问题,您必须在编译(JDK)和运行(JVM)中使用相同的版本。要检查编译器和JVM的版本,请使用以下命令。

Compiler 
javac -version


JVM 
javac -version