Подтвердить что ты не робот

UnsupportedClassVersionError: JVMCFRE003 плохой основной версии в WebSphere AS 7

Я получаю эту ошибку

java.lang.UnsupportedClassVersionError: JVMCFRE003 плохой вариант; class= map/CareMonths, offset = 6

Мой компилятор My Eclipse Java установлен в 1.6, а мой установленный Java SDK в C:\Program Files - 1.6.0, но все же я получаю эту ошибку при установке своего приложения в Webshere Application Server V7.

Что означает offset=6? Я хочу скомпилировать с использованием Java 6, а Websphere 7 поддерживает Java 6.

Я вижу, что JDK в каталоге IBM, где установлен сервер, - это Java 7. Является ли это причиной этого?.... но снова мое рабочее пространство компилятора Eclipse настроено на Java 1.6.

4b9b3361

Ответ 1

WebSphere Application Server V7 поддерживает Java Platform, Standard Edition (Java SE) 6 (см. Спецификации и документацию по API в разделе "Сетевое развертывание" (Все операционные системы), Информационный центр версии 7.0), а с тех пор выпуск V8.5, когда поддерживается Java 7.

Я не смог найти документацию по Java 6 SDK и мог обращаться только к сообщениям IBM JVM в документации по Java 7 Windows. Увы, я не смог найти сообщение об ошибке в документации.

Так как java.lang.UnsupportedClassVersionError является "Брошен, когда виртуальная машина Java пытается прочитать файл класса и определяет, что основные и младшие номера версий в файле не поддерживается.", вы столкнулись с проблемой создания приложения с более новой версией Java, чем тот, который поддерживается средой выполнения, то есть WebSphere Application Server 7.0.

Я могу ошибаться, но я думаю, что offset = 6 в сообщении должно сообщить вам, какая позиция вызвала проблему несовместимости. Это не имеет значения для вас, для меня и для многих других людей, но некоторые могут найти это полезным, особенно. когда они сами генерируют байт-код.

Запустите команду versionInfo, чтобы узнать о Установленные функции WebSphere Application Server V7, например

C:\IBM\WebSphere\AppServer>.\bin\versionInfo.bat
WVER0010I: Copyright (c) IBM Corporation 2002, 2005, 2008; All rights reserved.
WVER0012I: VersionInfo reporter version 1.15.1.47, dated 10/18/11

--------------------------------------------------------------------------------
IBM WebSphere Product Installation Status Report
--------------------------------------------------------------------------------

Report at date and time February 19, 2013 8:07:20 AM EST

Installation
--------------------------------------------------------------------------------
Product Directory        C:\IBM\WebSphere\AppServer
Version Directory        C:\IBM\WebSphere\AppServer\properties\version
DTD Directory            C:\IBM\WebSphere\AppServer\properties\version\dtd
Log Directory            C:\ProgramData\IBM\Installation Manager\logs

Product List
--------------------------------------------------------------------------------
BPMPC                    installed
ND                       installed
WBM                      installed

Installed Product
--------------------------------------------------------------------------------
Name                  IBM Business Process Manager Advanced V8.0
Version               8.0.1.0
ID                    BPMPC
Build Level           20121102-1733
Build Date            11/2/12
Package               com.ibm.bpm.ADV.V80_8.0.1000.20121102_2136
Architecture          x86-64 (64 bit)
Installed Features    Non-production
                      Business Process Manager Advanced - Client (always installed)
Optional Languages    German
                      Russian
                      Korean
                      Brazilian Portuguese
                      Italian
                      French
                      Hungarian
                      Simplified Chinese
                      Spanish
                      Czech
                      Traditional Chinese
                      Japanese
                      Polish
                      Romanian

Installed Product
--------------------------------------------------------------------------------
Name                  IBM WebSphere Application Server Network Deployment
Version               8.0.0.5
ID                    ND
Build Level           cf051243.01
Build Date            10/22/12
Package               com.ibm.websphere.ND.v80_8.0.5.20121022_1902
Architecture          x86-64 (64 bit)
Installed Features    IBM 64-bit SDK for Java, Version 6
                      EJBDeploy tool for pre-EJB 3.0 modules
                      Embeddable EJB container
                      Sample applications
                      Stand-alone thin clients and resource adapters
Optional Languages    German
                      Russian
                      Korean
                      Brazilian Portuguese
                      Italian
                      French
                      Hungarian
                      Simplified Chinese
                      Spanish
                      Czech
                      Traditional Chinese
                      Japanese
                      Polish
                      Romanian

Installed Product
--------------------------------------------------------------------------------
Name                  IBM Business Monitor
Version               8.0.1.0
ID                    WBM
Build Level           20121102-1733
Build Date            11/2/12
Package               com.ibm.websphere.MON.V80_8.0.1000.20121102_2222
Architecture          x86-64 (64 bit)
Optional Languages    German
                      Russian
                      Korean
                      Brazilian Portuguese
                      Italian
                      French
                      Hungarian
                      Simplified Chinese
                      Spanish
                      Czech
                      Traditional Chinese
                      Japanese
                      Polish
                      Romanian

--------------------------------------------------------------------------------
End Installation Status Report
--------------------------------------------------------------------------------

Ответ 2

Вы также должны убедиться, что у вас установлена ​​соответствующая версия Project Facets Java. Свойства модуля → Границы проекта → Java 1.6 следует проверить

Ответ 3

Эта ошибка может возникнуть, если вы компилируете проект JDK 1.6, и у вас есть зависимости, скомпилированные с Java 7.

Ответ 4

На этой панели настроек Eclipse вы можете изменить совместимость компилятора с 1.7 до 1.6. Это разрешило подобное сообщение, которое я получал. Для Eclipse он находится в разделе: Предпочтения → Java → Компилятор: "Уровень соответствия компилятора"

Ответ 5

Я получал эту ошибку в websphere 8.5:

java.lang.UnsupportedClassVersionError: JVMCFRE003 плохой основной вариант; class= com/xxx/Что бы ни было, смещение = 6

У меня был уровень JDK проекта, установленный в 1.7 в eclipse, и was8 по умолчанию работает на JDK 1.6, поэтому произошло столкновение. Мне пришлось установить дополнительный SDK 1.7 на мой сервер websphere, а затем проблема исчезла. Думаю, я мог бы также установить уровень моего проекта до 1,6 в eclipse, но я хотел бы ввести код в 1.7.

Ответ 6

Я получал ту же ошибку. На гранях проекта моего проекта Java уровень компиляции Java был установлен равным 1,7, тогда как WebSphere Application Server v7.0 имел состав Runtime JRE v1.6; установив уровень компиляции Java в 1.6 в Project Facets, он избавился от ошибки. Мне не нужно было менять уровень соответствия компилятора, но все равно 1.7. Надеюсь, это поможет!

Ответ 7

Сначала вы должны проверить основную версию скомпилированного проблемного файла .class, в вашем случае map/CareMonths. См. этот ответ, как это сделать.

WAS7 использует Java 6 (как сказано Jacek), а Java 6 использует основную версию 50, поэтому вам нужно скомпилировать свой проект с помощью Java 6. Как установить правильную версию компилятора Java, зависит от вашей среды разработки (например, Eclipse, IntelliJ) или инструмента сборки (например, Maven, Ant).

Ответ 8

Я получал ту же ошибку даже после выполнения изменений, и что я сделал, это

Щелкните правой кнопкой мыши по проекту- > properties- > java compiler- > Уровень соответствия компилятора- > измените его на 1.6

Это изменение особенно важно для проекта. Это, надеюсь, будет работать.

Ответ 9

Если вы используете maven, попробуйте добавить в pom.xml

<properties>
    ...
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    ...
</properties>

В противном случае попробуйте изменить версию компилятора.

Ответ 10

В eclipse перейдите в Project- > Properties- > Java build Path- > Order and Export. Если вы используете несколько JRE, попробуйте использовать jdk и ibm. Заказ должен начинаться с jdk, а затем с IBM. Так моя проблема была решена.

Ответ 11

Если в журнале указано java.lang.UnsupportedClassVersionError: JVM **** плохой основной вариант.

Затем код и сервер не скомпилированы с той же версией JDK.

Чтобы исправить это, переключите версию JDK либо в код, либо на сервер JDK.

Попробуйте следующее: В приведенном ниже примере использования im переключается на 1.7_64 (JDK 1,7 64 бит)

c:\IBM\WebSphere\WSRR\v8.5\bin\managesdk.bat -enableProfile -profileName WSRRSrv01 -sdkname 1.7_64

Ответ 12

Я установил его, установив env. переменная JAVA_HOME.