VSCodeでjava.lang.ClassNotFoundExceptionになり実行できない
case 1: VSCodeでプロジェクト・ディレクトリを開いていない。
例えば VSCode で Java Create Project からプロジェクト作成すると、以下の階層構造でテンプレートプロジェクトが作成されます。
code:shell
プロジェクト名/README.md
プロジェクト名/src/App.java
この中の App.java を実行するには、まず「プロジェクト名」のフォルダをVSCodeで開きましょう。直接App.javaを開くのではなく、プロジェクトのトップディレクトリを開く点に注意してください。その上で src/App.java をエディタ上で開いて実行する必要があります。
case 2: 何かしらVSCode側の自動処理により不整合が起きている。
VSCode(に限りませんが)は、動作を早くするために「色々と自動で処理する」ことがあります。例えば case 1 のようにテンプレート・プロジェクトを用意し、src/App.javaを開くと「勝手に bin フォルダを作成し、その中に App.classを生成」します。このような自動処理の結果と、実際のプロジェクトとが整合取れている状態ならば何も問題はありません。しかし稀(?)に「プロジェクト側が更新されているのに、自動処理が実行されておらず不整合になる」ことがあります。このような場合には何かしら動作上の不具合に繋がりやすいのですが、どのような不具合に繋がるかはケース・バイ・ケースです。
もし「プロジェクト・ディレクトリ」を開いた状態で、ClassNotFoundException(クラスが見つからない)というエラーが出るのであれば、以下の方法を試してみてください。
(1) VSCodeで開いているファイルを閉じて開き直す。
(2) VSCodeで開いているウィンドウを再読込する。
(3) VSCodeを再起動する。