java.lang.NoSuchMethodError: com.fasterxml.jackson.databind は古いバージョンが問題だった2025年03月21日 11時26分07秒

com.fasterxml.jackson.databind.JavaType.isRefereneType() の例外問題が何とか回避できた。

問題が起こったのは、vscode でテストを実行したりデバッガを起動した時に、fasterxml が利用されると java.lang.NoSuchMethodError が投げられる問題。プロジェクトは、Gradle で記述されていて、コマンドラインから gradle からコンパイル、テストを実行すると、vscode で異常を起こすテストも正しく終了する。

同じ様な事例を検索して調べると、一様に fasterxml のバージョンが古すぎると指摘されている。さて手元のプロジェクトの gradle のライブラリ依存を調べると、fasterxml を利用しているライブラリが複数あって、そのライブラリの中で一番高いバージョンが使われている。vscode も gradle をしっかりと認識し実行してはいるようだ。

さて、現状では、gradle は正しい動作をしている。vscode の java プラグインの動作が怪しいが、取得ライブラリのバージョンが見つけられないとなっている。そこで、明示的に fasterxml のバージョンを指定してみる事にした。

そして、徐々に fasterxml のバージョンを上げていくと、vscode での例外が無くなった。

細かい原因は vscode が隠していて分からないが、取り敢えず例外が無くなったので作業効率が大幅に上がった。

前回