kryo lib를 사용하여 객체를 직렬화합니다. 내가 오류 얻을 : (-> ArrayLisoSerialization ArrayListSerialization)Java에서 클래스 이름이 변경되면서 이상한 오류가 발생했습니다.
Unable to find class: java.util.ArrayLisoSerialization
와 동료는 그 오류를 재현를 ... Kryo에서 해당 자바 클래스 이름이 변경되었습니다 보인다. 그것은 2 대의 컴퓨터 (리눅스와 윈도우, 둘 다 jdk7)에서 테스트되었고 내 컴퓨터 (리눅스)에서만 문제가 나타납니다. Java 버전을 jdk7 (빌드 67)에서 jdk8로 변경하려고 시도했지만 문제가 계속 발생합니다.
왜 그런가? 오류 추적의
큰 부분 :
com.esotericsoftware.kryo.KryoException: Unable to find class: java.util.ArrayLisoSerialization trace:messages at com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:138) at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:115) at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:666) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:99) at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528) at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:682)...
내 프로젝트에서 오타를 찾으려고했지만 오류가 없습니다. Kryo는 오픈 소스 프로젝트이므로 오타 오류가 있는지 프로젝트를 확인해 보겠습니다. –
@ElSzarry가 내 대답을 업데이트했습니다. 전체 스택 트레이스를 살펴보고 LisoSerialization이 입력 스트림에서 분명히 나옵니다. 따라서 디스크의 파일이나 데이터베이스의 BLOB 중 하나에 잘못된 값이 포함되어 있습니다. – Joeblade
오류를 찾을 수 없습니다. 가상 박스에 Windows를 설치 한 후 오류가 나타나지 않습니다. 나는 무엇이 문제인지는 모르지만 그것이 내 리눅스 환경에 놓일 수 있다고 생각한다. 도와 줘서 고마워 Joeblade :) –