annotation class ..."-6ren"> annotation class ..."-我大量使用 Jackson 来序列化和反序列化数据,在 servlet(后端)和客户端(android 应用程序)使用的公共(public)库中使用类和 POJO,以及设备上的文件存储以实现网络优化目-6ren">
gpt4 book ai didi

java - Android/Jackson ObjectMapper 垃圾邮件日志包含 "Unable to resolve java.lang.Class<...> annotation class ..."

转载 作者:行者123 更新时间:2023-12-01 19:13:47 25 4
gpt4 key购买 nike

我大量使用 Jackson 来序列化和反序列化数据,在 servlet(后端)和客户端(android 应用程序)使用的公共(public)库中使用类和 POJO,以及设备上的文件存储以实现网络优化目的。从功能上讲,我的代码按预期工作。

从后端来看,我的日志没有任何可疑之处。但在 android 中,每次我使用 ObjectMapper 进行序列化或反序列化时,我都会遇到 logcat lignes,例如:

2019-12-22 08:09:54.653 fr.bel.app I/ntdb: userRefresh() : Requesting API...
2019-12-22 08:09:54.661 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.StringWrapper> annotation class 42
2019-12-22 08:09:54.661 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.StringWrapper> annotation class 41
2019-12-22 08:09:54.672 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.UserResponse> annotation class 42
2019-12-22 08:09:54.672 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.Response> annotation class 42
2019-12-22 08:09:54.672 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.Response> annotation class 41
2019-12-22 08:09:54.673 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.Response> annotation class 41
2019-12-22 08:09:54.673 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.UserResponse> annotation class 41
2019-12-22 08:09:54.675 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.User> annotation class 42
2019-12-22 08:09:54.677 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.User> annotation class 42
2019-12-22 08:09:54.677 fr.bel.app I/app: Unable to resolve java.lang.Class<fr.bel.User> annotation class 41

这是类声明的示例:

package fr.thelium.nottransdb;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class StringWrapper {
@XmlElement private String string;

public StringWrapper(String string) {
this.string = string;
}

public StringWrapper() {
string=null;
}

public String getString() {
return string;
}

public void setString(String string) {
this.string = string;
}

@Override
public String toString() {
return string;
}
}

我也尝试不使用@XmlElement =>相同的结果(应用程序工作,但日志中的消息相同)

以下是产生这些结果的示例:

public void store() {
/* Storing */
ObjectMapper objectMapper=new ObjectMapper();
try {
File file = new File(TrackingSingleton.getInstance().getMainActivity().getFilesDir(), DEVICE_PERSISTED_DATA_FILENAME);
objectMapper.writeValue(file, getNotificationList());
Log.i(TAG,"Successfully persisted device data");
}
catch (Exception e) {
Log.e(TAG,"Failed to persist device data : ",e);
}
}

知道我可能做错了什么吗?预先非常感谢您提供的任何帮助:)

最佳答案

我终于通过删除 XmlElement 和 XmlRootElement 注释获得了干净的日志。 (我只尝试在发布之前删除 XmlElement:还不够)。

关于java - Android/Jackson ObjectMapper 垃圾邮件日志包含 "Unable to resolve java.lang.Class<...> annotation class ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59442561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com