Java21で使用する場合のセットアップ方法¶
ブランクプロジェクトをJava21で使用する場合、各ブランクプロジェクトの疎通確認前に以下の手順を行う。
- 標準エンコーディングの変更(標準エンコーディングをJava17以前と同じ実行環境にしたい場合)
- Javaバージョンの変更
標準エンコーディングの変更(標準エンコーディングをJava17以前と同じく実行環境依存にしたい場合)¶
Java18から標準エンコーディングがUTF-8に統一され、環境依存ではなくなっている。 標準エンコーディングをJava17以前と同じく実行環境依存にしたい場合は、以下のようにJavaコマンドの実行時オプションとしてシステムプロパティを指定する。
-Dfile.encoding=COMPAT
補足
Mavenから実行する場合は、環境変数 MAVEN_OPTS (外部サイト) を使うことでJVMオプションを設定できる。ただしログに Picked up MAVEN_OPTS: -Dfile.encoding=COMPAT
が表示される。
なお、MavenプラグインによってはJVMオプションの設定方法が異なる場合があるため注意すること。(例えばテストを実行するmaven-surefire-pluginでは、pom.xmlのプラグイン設定にある argLine
で指定する必要がある)
重要
Java17までは -Dfile.encoding=COMPAT
というオプションは有効ではないので、従来の実行環境にこのJVMオプションが適用されないように注意すること。
Javaバージョンの変更¶
ブランクプロジェクトではソース及びclassファイルが準拠するJavaのバージョンとしてJava17が設定されているため 以下のようにファイルを変更する。
- pom.xml
<!-- Javaバージョンの箇所を以下のように変更する-->
<java.version>21</java.version>