Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GlassFish服务器中的java.lang.UnsupportedClassVersionError?_Java_Glassfish - Fatal编程技术网

GlassFish服务器中的java.lang.UnsupportedClassVersionError?

GlassFish服务器中的java.lang.UnsupportedClassVersionError?,java,glassfish,Java,Glassfish,我正在尝试将WAR文件部署到GlassFish服务器。我得到以下错误: [#| 2013-04-06T17:50:56.982-0430 |警告| glassfish3.1.2 | javax.enterprise.system.container.web.org.glassfish.web.loader | u ThreadID=17;| u ThreadName=Thread-2;| WEB9052:无法加载类com.tugay.User,原因:java.lang.unsupportdcla

我正在尝试将WAR文件部署到GlassFish服务器。我得到以下错误:

[#| 2013-04-06T17:50:56.982-0430 |警告| glassfish3.1.2 | javax.enterprise.system.container.web.org.glassfish.web.loader | u ThreadID=17;| u ThreadName=Thread-2;| WEB9052:无法加载类com.tugay.User,原因:java.lang.unsupportdclassversioner:WEB9032:class com.tugay.User有不受支持的主要或次要版本号,大于tJava运行时环境版本1.6.0_37 |#]

为什么它抱怨我的Java版本?我在类上有一个名为的
@注释。Java 1.6.0\u 37不支持这个注释吗

package com.tugay.user;

import javax.faces.bean.SessionScoped;
import javax.inject.Named;
import java.io.Serializable;


@Named("userBean")
@SessionScoped
public class UserBean implements Serializable {

    private String userName;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}

您已经使用Java 7或更高版本编译了
com.tugay.User
源文件,并尝试在Java 6上运行它。Java 7更改了
.class
格式,以便在非静态类型语言上获得更好的性能。有关更多信息,请参阅

你可以试着

  • 将生产运行时升级到7
  • 使用1.6编译,或
  • 使用
    -source 1.6-target 1.6
    作为构建脚本的修饰符

在中有进一步的解释。

您已经使用Java 7或更高版本编译了
com.tugay.User
源文件,并尝试在Java 6上运行它。Java 7更改了
.class
格式,以便在非静态类型语言上获得更好的性能。有关更多信息,请参阅

你可以试着

  • 将生产运行时升级到7
  • 使用1.6编译,或
  • 使用
    -source 1.6-target 1.6
    作为构建脚本的修饰符

在中有进一步的解释。

仔细查看错误的包名,即
java.lang
。因此,问题肯定不在JSF或Glassfish中。它只是在这个包所属的基本java SE中。如果您有特定于JSF的问题,您会得到一个异常
javax.faces
包。对不起,wher你看到包名和异常了吗?这里没有异常。这只是意味着当前运行的JVM不支持指定类的版本。如果你用较新版本的JVM编译了该类,可能会发生这种情况,例如Java 1.7。什么是“指定类的版本”意思是?这指的是虚拟机实际加载的类。您的运行时是
1.6
,显然您在没有明确指定目标版本的情况下使用了更高的版本
1.7
。将代码重新编译为target
1.6
。例如,在eclipse中,您可以使用
window>settings>java>c进行设置ompiler>compiler compliance level>1.6
仔细查看错误的包名,即
java.lang
。因此,问题肯定不在JSF或Glassfish中。这只是该包所属的基本java SE中。如果您遇到特定于JSF的问题,您会得到
javax.faces
包的异常。抱歉,您在哪里看到了包名和异常?这里没有异常?这只是意味着当前运行的JVM不支持指定类的版本。如果您使用较新版本的JVM(例如Java 1.7版本)编译该类,则可能会发生这种情况。什么是“指定类的版本”意思是?这指的是虚拟机实际加载的类。您的运行时是
1.6
,显然您在没有明确指定目标版本的情况下使用了更高的版本
1.7
。将代码重新编译为target
1.6
。例如,在eclipse中,您可以使用
window>settings>java>c进行设置ompiler>编译器符合性级别>1.6