Я пытаюсь развернуть WAR-файл на сервер GlassFish. Я получаю следующую ошибку:java.lang.UnsupportedClassVersionError на сервере GlassFish?
[#|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
Извините, где вы видели имя пакета и исключение? Здесь нет никакого исключения? –
['java.lang.UnsupportedClassVersionError'] (http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedClassVersionError.html). Это просто означает, что версия указанного класса не поддерживается текущей запущенной JVM. Это может произойти, если вы скомпилировали класс с более новой версией JVM, например. один из Java 1.7. – BalusC