UnsupportedClassVersionError 1.7, работает с настройками 1.6

У меня есть проект EAR, который состоит из следующих проектов:

  • TestRemoteEJB
  • TestRemoteEJBClient
  • TestRemoteWEB

Под каждый проект я установил:

  • В компиляторе Java я установил уровень соответствия компилятора 1.7.
  • В разделе Project Facets я установил Java на версию 1.7.

Также каждый проект имеет системную библиотеку JRE, установленную на JRE7. Если я использую эти настройки, при публикации на JBoss AS7 я получаю UnsupportedClassVersionError. Если я изменю ранее указанные параметры на 1.6 и JRE6, он успешно развернется. Почему под 1.6 работает, а под 1.7 нет? У меня есть следующая настройка на моем компьютере.

Для x86 у меня есть:

  • JRE6
  • JRE7

Для x64 у меня есть:

  • JDK 1.7 (что, как я обнаружил, бессмысленно, поскольку Eclipse использует собственный компилятор)
  • JRE7

Я использую версию Eclipse Indigo SR2 x86, так как у меня были некоторые проблемы с версией x64.


person Jernej Jerin    schedule 18.07.2012    source источник
comment
На что указывает версия Java JBoss AS7?   -  person kosa    schedule 18.07.2012
comment
Ой. Не знаю, как я это пропустил. У меня был экземпляр сервера, установленный на 1.6 вместо 1.7. @thinksteep, пожалуйста, ответьте на него, чтобы я мог принять его как правильный ответ. Кстати, действительно ли необходимо иметь под Project Facets до 1.7?   -  person Jernej Jerin    schedule 18.07.2012


Ответы (1)


Убедитесь, что сервер JBoss указывает на правильную версию Java.

person kosa    schedule 18.07.2012
comment
Мне не понятен ваш комментарий, касающийся аспектов проекта до 1.7? Можете ли вы предоставить немного больше деталей? - person kosa; 18.07.2012
comment
В разделе Project Facets есть свойство с именем Java и раскрывающийся список, в котором вы можете выбрать другую версию (1.5, 1.6 или 1.7). В деталях говорится: добавляет поддержку написания приложений с использованием языка программирования Java. Мне было интересно, что именно он делает, потому что я попытался установить его на 1.6, и проект развертывается без каких-либо проблем. - person Jernej Jerin; 18.07.2012
comment
Когда у вас env 1.7, лучше использовать 1.7. Я никогда не использовал его, но, основываясь на вашем описании, кажется, что IDE может понимать синтаксис в зависимости от версии (например, ресурс try-with будет сгенерирован, если включить 1.7, иначе он не будет). я тоже могу ошибаться - person kosa; 18.07.2012