web-dev-qa-db-fra.com

UnsupportedClassVersionError: JVMCFRE003, version majeure majeure dans WebSphere AS 7

Je reçois cette erreur

Java.lang.UnsupportedClassVersionError: JVMCFRE003 version majeure incorrecte; class = map/CareMonths, offset = 6

Le compilateur Java de mon Eclipse est défini sur 1.6 Et mon SDK Java installé dans C:\Program Files est 1.6.0, Mais j'obtiens toujours le même message d'erreur application sur Webshere Application Server V7.

Que signifie offset=6? Je souhaite compiler avec Java 6 et Websphere 7 prend en charge Java 6.

Je constate que le JDK du répertoire IBM où le serveur est installé est Java 7. Est-ce que cela est la cause? .... mais encore une fois, le compilateur Eclipse de mon espace de travail est défini sur Java 1.6.

33
mi3

WebSphere Application Server V7 prend en charge la plate-forme Java, Standard Edition (Java SE) 6 (voir documentation relative aux spécifications et à l'API dans le réseau Déploiement (Tous les systèmes d'exploitation), Centre de documentation de la version 7.0) et c'est depuis la version V8.5 lorsque Java 7 a été prise en charge .

Je ne pouvais pas trouver la Java 6 SDK, et je ne pouvais que consulter messages IBM JVM dans documentation de Java 7 sous Windows . Hélas, je Impossible de trouver le message d'erreur dans la documentation non plus.

Depuis Java.lang.UnsupportedClassVersionError est "Lancé lorsque la Java machine virtuelle tente de lire un fichier de classe et détermine que les numéros de version majeur et mineur les fichiers ne sont pas pris en charge. ", vous avez rencontré un problème de construction de l'application avec une version plus récente de Java de celle prise en charge par l'environnement d'exécution, c'est-à-dire WebSphere Application Server 7.0.

Je me trompe peut-être, mais je pense que offset = 6 dans le message vous indique dans quelle position le problème d'incompatibilité s'est produit. Cela n'a aucune importance pour vous, pour moi et pour beaucoup d'autres personnes, mais certaines personnes pourraient le trouver utile, notamment. quand ils génèrent eux-mêmes du bytecode.

Exécutez la commande versionInfo pour connaître les fonctions installées de WebSphere Application Server V7, par exemple.

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
--------------------------------------------------------------------------------
31
Jacek Laskowski

Dans ce panneau Préférences Eclipse, vous pouvez modifier la compatibilité du compilateur de 1.7 à 1.6. Cela a résolu le message similaire que je recevais. Pour Eclipse, il se trouve sous: Préférences -> Java -> Compilateur: "Niveau de conformité du compilateur"

8
V..

Vous devez également vous assurer que vous avez défini les facettes du projet appropriées Java version. Propriétés du module -> Facettes du projet -> Java 1.6 doit être coché).

8
Marik Palyg

Cette erreur peut se produire si votre projet compile avec JDK 1.6 et que vous avez des dépendances compilées avec Java 7.

6
ozOli

Je recevais cette erreur dans websphere 8.5:

Java.lang.UnsupportedClassVersionError: JVMCFRE003 version majeure incorrecte; class = com/xxx/Peu importe, offset = 6

J'avais mon projet de niveau JDK défini à 1,7 dans Eclipse et was8 par défaut s'exécute sur JDK 1.6, donc il y avait un conflit. J'ai dû installer le kit de développement logiciel optionnel SDK 1.7 sur mon serveur Websphere, puis le problème a disparu. J'imagine que j'aurais pu également définir le niveau de mon projet à 1,6 dans Eclipse, mais je voulais coder à 1,7.

4
Glenn

Je recevais la même erreur même après avoir fait les changements ci-dessus et ce que j'ai fait est

Faites un clic droit sur le projet-> Propriétés-> Compilateur Java-> Niveau de conformité du compilateur-> le change en 1.6

Ce changement est particulier pour le projet. Cela devrait fonctionner, espérons-le.

2
CodingOwl

J'avais la même erreur. Dans les facettes de projet de mon Java, le niveau de compilation Java était défini sur 1,7, alors que WebSphere Application Server v7.0 comportait une composition d'exécution de JRE v1 Régler le niveau de compilation Java sur 1.6 dans Project Facets a effacé l'erreur. Je n'ai pas eu à modifier le niveau de conformité du compilateur, il reste tout de même 1.7. J'espère que cela vous aidera!

1
Prince

Au début vous devriez vérifier la version majeure de la problématique compilée .class fichier , dans votre cas map/CareMonths. Voir cette réponse comment le faire.

WAS7 utilise Java 6 ( comme dit Jacek ), et Java 6 utilise la version majeure 50, donc vous devez compiler votre projet avec Java 6 . Comment définir la version appropriée de Java dépend de votre IDE (par exemple, Eclipse, IntelliJ) ou votre outil de construction (par exemple, Maven, Ant).

1
lu_ko

Si le journal indique Java.lang.UnsupportedClassVersionError: JVM **** version majeure incorrecte.

Ensuite, le code et le serveur ne sont pas compilés avec la même version du JDK.

Pour résoudre ce problème, veuillez basculer la version du JDK dans le code ou le JDK du serveur.

Essayez ceci: - Dans le cas d'utilisation ci-dessous, je passe à 1.7_64 (JDK 1.7 64 bit)

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

1

Si vous utilisez maven, essayez d’ajouter dans le fichier pom.xml

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

Sinon, essayez de changer la version du compilateur.

0
Leonardo Pineda

Dans Eclipse, sélectionnez Projet-> Propriétés-> Chemin de génération Java-> Commande et exportation. Si vous utilisez plusieurs JRE, essayez comme jdk et ibm. La commande devrait commencer par jdk puis IBM. Voici comment mon problème a été résolu.

0
Nelda