java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JavaType.isRefereneType() が出る2025年01月07日 12時58分28秒

最近の Java はフレームワークと外部ライブラリを多用する。Java に復帰したのは十五年来で、半年程あれこれと Java を使っている。

今回、java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JavaType.isRefereneType() に悩まされた。しかも、どうも再現性が悪く手間取った。

結論から述べると、この様な例外が投げられる時は、ライブラリのバージョンをしっかりと調べ直した方が良さそうだ。 gradle は正しいバージョンを使っていたが、VSCode を用いると異なったバージョンのライブラリが利用され、問題を起こしていた。

VSCode と gradle を使っている。普段は gradle 越しにテストを実行しているが、結果がおかしい時には VSCode のデバッグ機能を使っている。gralde で実行した時とデバッガをすると、問題の起こり方が変わるのに時間がかかった。

gralde はしっかり記述されているので、実行環境じたいは問題なかった。現存のコードの動作がおかしいのが結論。

デバッガ利用時の問題は、 VSCode 側の設定の様だった。VSCode がコードを自動検出して、目的のテストだけを実行できるのが便利で使っている。しかし、共有の環境設定を使っているのと、VSCode で gradle と JAVA の自動検出使われているので、実はまだ設定のやり方と自動検出の設定と影響が理解出来ていない。その為、一部のテストを VSCode 越しで実行すると問題が起きている。

java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JavaType.isReferenceType()でも似たような依存ライブラリの指定がおかしくなって、上記の例外が投げられている事例がある。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2025/01/07/9745290/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。