1. ホーム
  2. java

[解決済み] Java 8のコードをコンパイルしてJava 7のJVMで動作させることはできますか?

2022-04-24 16:06:48

質問

Java 8では、ラムダ式などの重要な新言語機能が導入されています。

これらの言語の変更は、コンパイルされたバイトコードに、何らかの再トランスレータを使用しないとJava 7仮想マシン上で実行できないような重大な変更を伴うのでしょうか?

解決方法は?

いいえ、ソースコードで1.8の機能を使用するには、1.8のVMをターゲットにする必要があります。私はちょうど新しいJava 8のリリースを試したところですが、コンパイル時に -target 1.7 -source 1.8 と表示され、コンパイラに拒否されます。

$ javac Test -source 1.8 -target 1.7
javac: source release 1.8 requires target release 1.8