2017-06-08 26 views
1

私はJacksonを使用してKotlinデータクラスを逆シリアル化しています。私はjackson-kotlin-moduleを使用していますが、ジャクソンは私に次のエラーを与えている:JacksonはKotlinデータクラスを逆シリアル化できません

私は私のクラスを維持するためにProGuardのルールを追加しようとしました

Can not construct instance of MyClass: no suitable constructor found, can not deserialize from Object value

、それのコンストラクタ任意の成功なし。

すべてのkotlinクラスを保持するルールを追加すると、エラーがなくなります。

アイデア?

+0

あなたの質問は十分な情報を持っていなかった以下のルールを追加する

は、問題を修正します他の人が問題を解決するために、コード例やProguard構成を表示しないようにします。 –

答えて

3

多くの試行錯誤の末、私はProguardが私のデータクラスのkotlin.Metadata注釈を削除していることを発見しました。私も私のデータクラス上の合成法を維持するためにルールを追加した

-keep class kotlin.Metadata { *; } 

あまりにも必要だった:

-keepclassmembers public class com.mypackage.** { 
    public synthetic <methods>; 
} 
+0

どのビルドツールを使用していますか(gradle/maven)ですか?これらのルールはどこに追加しましたか? –

関連する問題