Intellij IDEAで「リリース・バージョンはサポートされていません」と出たときの対処法


経緯

モジュールが複数あるプロジェクトをクローンした際に、バージョンが古すぎて、タイトルのようなビルドエラーが出てしまった。
Intellijの設定からバージョンを変更しても、モジュールの設定で上書きされてしまうためか、反映されず困っていた。
色々調べて、やっとこさ解決策が見つかったので、備忘録として残しておく。

試したこと

Java CompilerからProject bytecode versionを変更する。

ビルドしてみたが、やはり同じようなエラーが出てしまった。
どうやら、個々のモジュールで設定がされており、そちらで上書きされてしまうようだ。

解決策

1.プロジェクト直下の.ideaフォルダにあるcompiler.xmlを修正する。

target="1.5"

のように古いバージョンになっていると思うので、これを新しいバージョンにする。
(以下は11に書き換えたもの)

target="11"

2.ターミナルでカレントディレクトリをプロジェクト直下にして、以下のコマンドを実行する。

find . -type f -name "*.iml" -print0 | xargs -0 sed -i "" "s/JDK_1_5/JDK_11/g" 

これですべてのモジュールの設定が変更されたので、ビルドすると、それらの設定が反映される。

参考

How do I change language level for all modules in IntelliJ