杰克逊未能对Kotlin数据类别进行挑选



我正在使用杰克逊(Jackson(对kotlin数据类进行挑选。我正在使用jackson-kotlin-module,但杰克逊给我以下错误:

无法构造myClass的实例:找不到合适的构造函数,无法从对象值

中启用。

我已经尝试添加Proguard规则来保留我的课程,它是构造函数,没有任何成功。

如果我添加了一条规则以保持所有kotlin类,则错误消失了。

有什么想法?

经过大量反复试验,我发现proguard正在从我的数据类中剥离kotlin.Metadata注释。

添加以下规则解决了问题:

-keep class kotlin.Metadata { *; }

我还发现,还需要添加一条规则来保留我的数据类上的合成方法:

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

最新更新