質問: IntelliJでライブラリを作っているのですが、 SDKにはJava8を使用して、コンパイルレベルはJava7で行いたいです。 ですが、いくら設定をしても、絶対にJava8でコンパイルされてしまいます。 設定は Project language level を 7 にしています。 (モジュールも) Artifact で jar を出力しています。 出力後の jar を分解して class をのぞいてもやはり major52(Java8) としてコンパイルされています。 どうすれば Java8SDK を使用して Java7 の jar を出力できるのでしょうか?
回答: Project bytecode versionに1.7を指定して、その下の Per-module bytecode version にモジュールを追加、そのモジュールのTarget bytecode versionを1.7に指定すればJava7のclassになると思います。