41

このエラーが発生します

java.lang.UnsupportedClassVersionError:JVMCFRE003不正なメジャーバージョン。class = map / CareMonths、offset = 6

EclipseのJavaコンパイラがに設定されて1.6おり、C:\ ProgramFiles1.6.0にインストールされているJavaSDKはですが、Webshere ApplicationServerV7にアプリをインストールするとこのエラーが発生します。

どういうoffset=6意味ですか?Java 6を使用してコンパイルしたいのですが、Websphere7はJava6をサポートしています。

サーバーがインストールされているIBMディレクトリーのJDKがJava7であることがわかります。これが原因ですか?....しかし、私のワークスペースのEclipseコンパイラはJavaに設定されています1.6

4

12 に答える 12

33

WebSphere Application Server V7は、Java Platform、Standard Edition(Java SE)6をサポートし(Network Deployment(すべてのオペレーティング・システム)、バージョン7.0インフォメーション・センターの仕様およびAPI文書を参照)、 Java7がリリースされたV8.5以降です。サポートされています。

Java 6 SDKのドキュメントが見つかりませんでした。また、Java7WindowsのドキュメントでIBMJVMメッセージを参照することしかできませでした。残念ながら、ドキュメントにもエラーメッセージが見つかりませんでした。

java.lang.UnsupportedClassVersionErrorは、「Java仮想マシンがクラスファイルを読み取ろうとし、ファイル内のメジャーバージョン番号とマイナーバージョン番号がサポートされていないと判断した場合にスローされます。」、ランタイム環境でサポートされているバージョンよりも新しいバージョンのJava、つまりWebSphere ApplicationServer7.0を使用してアプリケーションをビルドする際に問題が発生しました。

誤解されているかもしれませんが、メッセージのoffset = 6は、非互換性の問題が発生した原因となった位置を通知するためのものだと思います。それはあなたにとっても私にとっても他の多くの人々にとっても無関係ですが、特に有用だと思う人もいるかもしれません。彼らが自分でバイトコードを生成するとき。

versionInfoコマンドを実行して、WebSphere ApplicationServerV7のインストール済み機能について調べます。

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
--------------------------------------------------------------------------------
于 2013-02-19T13:11:22.440 に答える
9

このEclipse設定パネルでは、コンパイラーの互換性を1.7から1.6に変更できます。これは私が得ていた同様のメッセージを解決しました。Eclipseの場合は、[設定]-> [Java]-> [コンパイラ]:[コンパイラコンプライアンスレベル]の下にあります。

于 2013-10-11T18:32:42.377 に答える
8

また、適切なProjectFacetsJavaバージョンが設定されていることを確認する必要があります。モジュールのプロパティ->プロジェクトファセット->Java1.6をチェックする必要があります

于 2014-05-23T14:48:52.923 に答える
7

このエラーは、プロジェクトがJDK 1.6でコンパイルされており、依存関係がJava7でコンパイルされている場合に発生する可能性があります。

于 2014-01-08T14:48:46.210 に答える
4

Websphere8.5でこのエラーが発生していました。

java.lang.UnsupportedClassVersionError:JVMCFRE003不正なメジャーバージョン。class = com / xxx / Whatever、offset = 6

プロジェクトのJDKレベルをEclipseで1.7に設定し、デフォルトでwas8をJDK 1.6で実行したため、衝突が発生しました。オプションのSDK1.7をWebsphereサーバーにインストールする必要がありましたが、問題は解決しました。Eclipseでプロジェクトレベルを1.6に設定することもできたと思いますが、1.7にコーディングしたかったのです。

于 2014-02-03T22:48:55.370 に答える
2

上記の変更を行った後でも同じエラーが発生していました。

プロジェクトを右クリック->プロパティ->Javaコンパイラ->コンパイラコンプライアンスレベル->1.6に変更

この変更は、プロジェクトに固有のものです。これはうまくいけばうまくいくはずです。

于 2016-07-13T07:05:44.770 に答える
1

同じエラーが発生していました。私のJavaプロジェクトのプロジェクトファセットでは、Javaコンパイルレベルは1.7に設定されていましたが、WebSphere ApplicationServerv7.0のランタイム構成はJREv1.6でした。Project FacetsでJavaコンパイルレベルを1.6に設定すると、エラーが解消されました。コンパイラのコンプライアンスレベルを変更する必要はありませんでしたが、それでも1.7です。お役に立てれば!

于 2014-04-16T19:27:09.790 に答える
1

最初に、コンパイルされた問題のあるファイルのメジャーバージョンを確認する必要があり.classますmap/CareMonthsそれを行う方法については、この回答を参照してください。

WAS7は(Jacekが言ったように)Java 6を使用し、Java 6はメジャーバージョン50を使用するため、プロジェクトをJava6でコンパイルする必要があります。Javaコンパイラの適切なバージョンを設定する方法は、IDE(Eclipse、IntelliJなど)またはビルドツール(Maven、Antなど)によって異なります。

于 2014-05-22T13:42:27.883 に答える
1

ログにjava.lang.UnsupportedClassVersionErrorが示されている場合:JVM****のメジャーバージョンが不良です。

その場合、コードとサーバーは同じJDKバージョンでコンパイルされません。

これを修正するには、コードまたはサーバーJDKのいずれかでJDKバージョンを切り替えてください。

これを試してください:-以下のユースケースでは、1.7_64(JDK 1.7 64ビット)に切り替えます

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

于 2017-11-08T05:15:02.237 に答える
0

Mavenを使用する場合は、pom.xmlに追加してみてください

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

それ以外の場合は、コンパイラのバージョンを変更してみてください。

于 2017-05-31T14:55:55.400 に答える
0

Eclipseで、[プロジェクト]->[プロパティ]->[Javaビルドパス]->[注文とエクスポート]に移動します。複数のJREを使用している場合は、jdkやibmのように試してください。注文はjdkで始まり、次にIBMで始まる必要があります。これが私の問題が解決された方法です。

于 2017-08-08T04:11:16.477 に答える
-3

envを設定して修正しました。変数JAVA_HOME。

于 2017-02-17T12:19:17.807 に答える