SimpleDirectedGraph をシリアライズしようとすると、次のエラーが発生します。
com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException: Unable to create serializer "com.esotericsoftware.kryo.serializers.FieldSerializer" for class: org.jgrapht.graph.SimpleDirectedGraph
このタイプのエラーに関するインターネット検索では、ASM 4.0 ライブラリへのユーザー アップデートを推奨する多くの人が返されます。ASM 4.0 ライブラリを含む Kryo 2.2 All を使用しています。念のため、ASM 4 ライブラリを単独で含めてみましたが、うまくいきませんでした。
ArrayList などの単純なオブジェクトをシリアル化してみました。それらはうまくいきます。kryo がこのグラフ クラスのシリアル化に失敗する理由がよくわかりません。誰にもアイデアはありますか?
更新: 私はグラフを扱っているので、kryo の実験的な「継続」ブランチを実装してみましたhttps://github.com/EsotericSoftware/kryo/issues/103
残念ながら、私はまだ同じエラーを受け取ります。
更新:トリックは、別の種類のシリアライザーを使用している可能性があると思います。残念ながら、SimpleDirectedGraph で動作するものを見つけることができないようです。BeanSerializer は、最初のオブジェクト レイヤーのみをシリアル化します。ネストされたオブジェクトはシリアル化されないようです。他のシリアライザーは、FieldSerializer と同じエラーをスローします。人々が通常グラフで使用するシリアライザーはありますか?