我正在尝试将WAR文件部署到GlassFish服务器。我收到以下错误:GlassFish服务器中的java.lang.UnsupportedClassVersionError?
[#|2013-04-06T17:50:56.982-0430|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=17;_ThreadName=Thread-2;|WEB9052: Unable to load class com.tugay.User, reason: java.lang.UnsupportedClassVersionError: WEB9032: Class com.tugay.User has unsupported major or minor version numbers, which are greater than those found in the Java Runtime Environment version 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;
}
}
仔细看看错误的包名称,即'java.lang'。因此,这个问题绝对不在JSF或Glassfish中。它只是在这个软件包所属的基本Java SE中。如果你有JSF特定的问题,你会得到一个'javax.faces'包的异常。 – BalusC 2013-04-06 22:49:17
对不起,您在哪里看到包名和例外情况?这里没有例外吗? – 2013-04-06 22:51:00
['java.lang.UnsupportedClassVersionError'](http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedClassVersionError.html)。这仅表示当前运行的JVM不支持指定类的版本。如果您已经使用较新版本的JVM编译了该类,可能会发生这种情况,例如Java 1.7的一个。 – BalusC 2013-04-06 22:55:37