0
Я ищу пример серийной сериализации и сериализации Kryo. Как проверить правильность функции чтения и записи Kryo.NoClassDefFoundError with Kryo
Я написал код для проверки, но он возвращает исключение. Любая помощь будет заметна. Спасибо заранее.
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.KryoSerializable;
import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import com.esotericsoftware.kryo.serializers.MapSerializer;
public class KryoSample implements KryoSerializable{
int number = 12345;
String name = "Siemens";
boolean good = false;
String type = "Serializer ";
public void someValues(){
String name = " Kryo ";
String type = "Serializer ";
}
public KryoSample(){}
public KryoSample(String name, String type){
name = " Kryo ";
type = "Serializer ";
}
@Override
public void read(Kryo kryo, Input input) {
// TODO Auto-generated method stub
try{
String name = input.readString();
int number = input.readInt();
boolean good = input.readBoolean();
System.out.println(name+": "+number+" : "+good);
}catch(Exception e){
System.out.println(" Read Exception "+e.getMessage());
}
}
@Override
public void write(Kryo kryo, Output output) {
// TODO Auto-generated method stub
try{
output.writeString(name);
output.writeBoolean(good);
output.write(number);
}catch(Exception e){
System.out.println(" Write Exception "+e.getMessage());
}
}
public static void main(String args[]){
try{
Kryo kryoObj = null;
//kryoObj = new Kryo();
kryoObj.setReferences(false);
kryoObj.register(KryoSample.class, new MapSerializer());
System.out.println(" TRY: ");
//Kryo kryoObj = new Kryo();
Output outputObj = new Output();
Input inputObj = new Input();
KryoSample kryoSample = new KryoSample();
kryoSample.write(kryoObj, outputObj);
kryoSample.read(kryoObj, inputObj);
}catch(Exception e){
System.out.println("Kryo Exeption "+e.getMessage());
}
}
}
Что происходит, когда вы запускаете код? Что говорит stacktrace? Вместо того, чтобы ловить исключение в 'main', вы можете просто объявить его как' throws Exception'. – gustafc
Спасибо за ответ, он выдает следующее исключение Exception в потоке "основного" java.lang.NoClassDefFoundError: орг/objenesis/стратегия/InstantiatorStrategy \t на KryoSample.main (KryoSample.java:63) Вызванный: java.lang. ClassNotFoundException: – BusyBee
Редактировать: теперь тема говорит, что проблема –