2013-04-06 2 views
0

Я пытаюсь развернуть 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; 
    } 
} 
+0

Посмотрите на имя ошибки пакета, это 'java.lang'. Таким образом, проблема, безусловно, не в JSF или Glassfish. Это просто базовый Java SE, к которому относится этот пакет. Если у вас будет специфическая проблема JSF, вы получили бы исключение из пакета javax.faces. – BalusC

+0

Извините, где вы видели имя пакета и исключение? Здесь нет никакого исключения? –

+0

['java.lang.UnsupportedClassVersionError'] (http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedClassVersionError.html). Это просто означает, что версия указанного класса не поддерживается текущей запущенной JVM. Это может произойти, если вы скомпилировали класс с более новой версией JVM, например. один из Java 1.7. – BalusC

ответ

5

Вы собрали в com.tugay.User исходный файл с помощью Java 7 или более новую версию и пытаться запустить его на Java 6. Существует изменения Java 7 в формате .class, чтобы обеспечить лучшую производительность на не statically- набранных языках. См. the official oracle documentation для получения дополнительной информации.

Вы можете попробовать

  • обновления производственной среды выполнения 7,
  • использование 1,6 компилировать или
  • использование -source 1.6 -target 1.6 в качестве модификаторов в сценарии сборки

Есть дополнительно объяснения в another question.

Смежные вопросы