0

でサーブレットをコンパイルしましたJDK 7。Tomcat をサーブレット コンテナーとして使用します。ただし、古いバージョンのJVM 1.6.

のエラーが発生しUnsupported major.minor versionました。

どちらを変更する必要がありますか?

  • Tomcat の JVM

また

  • 私のMacのJDK?1 つのファイルの cmd-line を使用してコンパイルするためだけに JDK を変更する方法は?
4

4 に答える 4

2

Tomcat が実行される Java のバージョンは、Tomcat のそのバージョンがサポートするものでなければなりません。ドキュメントを確認するか、動作しているドキュメントを使用してください。

コンパイルに使用するバージョンは、少なくともメジャー番号とマイナー番号が同じである必要があります。

Tomcat の実行と、すべての開発とテスト、ビルドと単体テストの実行などには、まったく同じバージョンを使用する必要があります。すべてが簡単になり、時間を無駄にする微妙なバグを取り除くだけです。

于 2012-12-31T19:42:14.680 に答える
1

2 つのアプローチのいずれかが機能します。JAVA_HOMEコードを再コンパイルする必要がないため、Tomcat の変更は簡単です (使用している Tomcat が Java 6 と互換性があると仮定します)。

JAVA_HOMtomcat .bat ファイルの E をマシン上の Java 6 の場所に指定するだけです。

于 2012-12-31T19:40:06.160 に答える
0

これらの2つのオプションのうち、Tomcatを実行しているJVMをダウングレードする方がおそらく簡単です(またはMac OSでは複数のJVMを並べてインストールできるため、別のオプションを選択してください)。

もう1つのオプションは、「-target 1.6」を使用してコードを再コンパイルすることです。これ.classにより、Java1.6仮想マシンで実行可能なファイルがコンパイルされます。これは、IMOのより優れたソリューションです。これは、後のビルドが1.6JVMでも受け入れられるためです。

于 2012-12-31T21:26:16.057 に答える
0

Java 1.6 で再コンパイルすると、問題は解決するはずです。

于 2012-12-31T20:17:46.817 に答える