[Java] 49 JavaFX 07 JDK11.0.11で文字化け

[macOS 10.15.7 Catalina]

Javaがらみではちょっとしたことでトラブルに巻き込まれるので、都度記録しておきます。

今回はJDKのバージョンによるJavaFXの文字化けです。

VScodeのsettings.jsonでJDKのバージョンを以下のように設定していました。

"java.home": "/Library/Java/JavaVirtualMachines/jdk-11.0.8.jdk/Contents/Home"

jdk-11.0.8.jdkからjdk-11.0.11.jdkに変更したところ文字化けが発生しました。ちなみにjdk13ではこのようなトラブルはありません。

私の環境だけかもしれませんが、今後も似たようなトラブルになった時のためにメモしておきます。前にもあったmacOS 10.15 Catalinaの問題のような気もします。

Javaは開発環境構築とトラブル対応のコストがかかり過ぎるがつくづく残念です。この傾向はEclipseのようなIDEでも、VScodeのようなエディタでも変わりません。

以前も書きましたが、VScodeを使った軽量環境構築はJava用プロジェクト管理ツールのMavenに出会うまでは本当に泥沼でした。

[Java] 48 Build failed, do you want to continue?

VScodeでJavaコードをビルドしようとするとタイトルのエラーが出ました。

Proceedボタンで先に進むことはできますが、どうやってもこのエラーを消せなくて困りました。

ネット検索すると、workspaceStorageフォルダを空にすればよいとか解決策が紹介されていたので試してみるもうまくいかず。

コマンドパレットから”Java: Open Java Language Server log file”でログを確認すると以下の詳細メッセージがありました。

ENTRY org.eclipse.jdt.ls.core 4 0 2021-07-30 08:47:22.370
!MESSAGE Error occured while building workspace. Details: 
 message: Syntax error on tokens, delete these tokens; code: 1610612969; resource: /Java/projects/javafx_conv/src/test/java/test/._AppTest.java; line: 1
 message: Syntax error on tokens, delete these tokens; code: 1610612969; resource: /Java/projects/javafx_conv/src/test/java/test/._Main.java; line: 1
 message: Syntax error on tokens, delete these tokens; code: 1610612969; resource: /Java/projects/javafx_conv/src/test/java/test/._SampleController.java; line: 1

原因となっている3つのファイルを削除するとあっさり直りました。

同じエラーメッセージでも原因は様々なので、むやみにググらずログを確認して対処するべきでした。今回はざっくりとしすぎたメッセージゆえ尚更でしたね。