こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、15年目エンジニアです。
この記事では、IntelliJ IDEAでJavaプログラムを実行したとき
|
1 2 3 4 |
WARNING: A restricted method in java.lang.System has been called WARNING: java.lang.System::load has been called by com.intellij.rt.execution.application.AppMainV2 in an unnamed module (file:/C:/Program%20Files/JetBrains/IntelliJ%20IDEA%20Community%20Edition%202023.2/lib/idea_rt.jar) WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module WARNING: Restricted methods will be blocked in a future release unless native access is enabled |

というワーニングメッセージが表示されたときの原因とその解決策をお伝えします。
前提:実施している環境
この記事では、以下の環境で行っています。
| OS | Windows11 |
|---|---|
| IntelliJ IDEAのエディション | Community(無料版) |
| IntelliJ IDEAのバージョン | 2023.2 |
| プロジェクト | Javaプロジェクト |
なお、解説で使っているIntelliJ IDEAには日本語化対応を行っています。
やり方はこちらの記事をご参考ください。
ワーニングメッセージが表示される原因
原因は、Java22以上の最新のJDKを使用しているからです。
IntelliJのプロジェクト構造で設定しているJDKが22以上だと、以前のバージョンでは黙認されていたアクセスが厳格にワーニングメッセージとして表示されるようになりました。
ワーニングメッセージなので、無視でも問題ありません。
ワーニングメッセージが表示される解決策
ただ、いちいち表示されるのはめんどくさいのでワーニングメッセージを表示しないように設定すれば解決できます。
左上のハンバーガーメニューを選択します。

表示されるタブで
- 表示されるタブの中から【実行】を選択
- 表示されるドロップダウンリストの中から【実行構成の編集】を選択

【実行/デバッグ構成】という画面が表示されます。
ここでワーニングメッセージを表示しないように設定します。

この記事では対象がMainなのでアプリケーションを選択します。
【オプションを変更】を選択します。
もしJUtitの実行時の設定を変更したい場合、JUnitを選択してで同様の設定をしてください。

【実行オプションの追加】という画面が表示されます。
その中で【VMオプションの追加】を選択します。

【実行/デバッグ構成】画面に戻ります。
すると【ビルドと実行】という項目に【VMオプション】が追加されています。

追加された【VMオプション】に
|
1 |
--enable-native-access=ALL-UNNAMED |

を入力して【適用】ボタンを押します。
【適用】ボタンが押せなくなるので、【OK】ボタンを押します。

以上で設定が完了しました。
実行してみると
ワーニングメッセージが表示されなくなりました。

まとめ:ワーニングメッセージが表示されたときはVMオプションを確認しよう!
以上がIntelliJ IDEAでJavaプログラムを実行したときワーニングメッセージ「WARNING: A restricted method in java.lang.System has been called」が表示されたときの原因と解決策でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント