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

Kor*_*gay 0 java glassfish

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

[#| 2013-04-06T17:50:56.982-0430 |警告| glassfish3.1.2 | javax.enterprise.system.container.web.org.glassfish.web.loader | _ThreadID = 17; _ThreadName =线程2; | WEB9052:无法加载类com.tugay.User,原因:java.lang.UnsupportedClassVersionError:WEB9032:类com.tugay.User具有不受支持的主要或次要版本号,这些版本号大于Java Runtime Environment 1.6版中的版本号. 0_37 |#]

为什么抱怨我的Java版本?我@Named在课上有一个注释.Java 1.6.0_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;
    }
}
Run Code Online (Sandbox Code Playgroud)

H M*_*les 6

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

你可以尝试

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

另一个问题还有进一步的解释.