サードパーティのjarパッケージに新しいジャクソンパッケージ名が作成されたため、スプリングブートでTomcatのjsonシリアル化エラーが報告されました

ここに画像の説明を挿入
友人が問題を解決するのを手伝ってください。スプリングブートのシリアル化されたオブジェクトが戻ると、エラーが報告され、原因が発見されます。サードパーティの有料jarパッケージがプロジェクトに導入されます。このパッケージには、Jacksonパッケージが組み込まれています。最初の反応は、コードが不完全であることですまたは、バージョンが現在のブートプロジェクトのバージョンと一致しないため、シリアル化でメソッドが見つからないというエラーが発生します。
ここに画像の説明を挿入
リフレクションによると、開発環境でスプリングブートモードのメインメソッドの使用を開始しても問題ありませんが、warパッケージにスローされてtomcatにドロップされた後は機能しません。一方、これは実際に情報を確認した後のケースであることがわかります。読者は、BaiduまたはGoogleを使用して、2つの方法でさまざまな読み込みモードを読み込むことに関心を持っています。起動読み込みの分離は非常に優れています。解決策を以下に説明します。

  1. jar内のすべてのjacksonコードを直接削除してから、jarをプロジェクトに戻し、ロードの競合が発生しないようにします。焦点は2です。

ここに画像の説明を挿入

2.ゲートウェイクライアントのjarパッケージの名前をzzzz-gateway-clientに変更します。tomcatのjarパッケージのロードメソッドは、ファイル名の順序でロードされるため(A、B、C…Zなど)、
Aが最初にロードされます。パッケージ、次にBパッケージなどをロードし、最後にZパッケージをロードすると、パッケージ名がロードされるたびに、後で同じパッケージ名に遭遇するため、再度ロードすることはない
ため、このサードパーティjarを最後に置くと、tomcatは以前のjarパッケージと競合するパッケージをロードしないため、問題が解決します。

ロードされないパッケージは、jarフォルダー内のalibabaおよびjcraftパッケージを参照することに注意してください。それがalibabaの競合のみである場合、jcraftパッケージとクラスのロードを続行しても影響はありません。jarは圧縮ファイルに相当します。実際、jarは解凍されてからクラスをロードします。

公開された38元の記事 ウォン称賛17 ビュー9006

おすすめ

転載: blog.csdn.net/cainiao1412/article/details/102492896
おすすめ