でサーブレットをコンパイルしましたJDK 7
。Tomcat をサーブレット コンテナーとして使用します。ただし、古いバージョンのJVM 1.6
.
のエラーが発生しUnsupported major.minor version
ました。
どちらを変更する必要がありますか?
- Tomcat の JVM
また
- 私のMacのJDK?1 つのファイルの cmd-line を使用してコンパイルするためだけに JDK を変更する方法は?
Tomcat が実行される Java のバージョンは、Tomcat のそのバージョンがサポートするものでなければなりません。ドキュメントを確認するか、動作しているドキュメントを使用してください。
コンパイルに使用するバージョンは、少なくともメジャー番号とマイナー番号が同じである必要があります。
Tomcat の実行と、すべての開発とテスト、ビルドと単体テストの実行などには、まったく同じバージョンを使用する必要があります。すべてが簡単になり、時間を無駄にする微妙なバグを取り除くだけです。
2 つのアプローチのいずれかが機能します。JAVA_HOME
コードを再コンパイルする必要がないため、Tomcat の変更は簡単です (使用している Tomcat が Java 6 と互換性があると仮定します)。
JAVA_HOM
tomcat .bat ファイルの E をマシン上の Java 6 の場所に指定するだけです。
これらの2つのオプションのうち、Tomcatを実行しているJVMをダウングレードする方がおそらく簡単です(またはMac OSでは複数のJVMを並べてインストールできるため、別のオプションを選択してください)。
もう1つのオプションは、「-target 1.6」を使用してコードを再コンパイルすることです。これ.class
により、Java1.6仮想マシンで実行可能なファイルがコンパイルされます。これは、IMOのより優れたソリューションです。これは、後のビルドが1.6JVMでも受け入れられるためです。
Java 1.6 で再コンパイルすると、問題は解決するはずです。