Java 新客户端上的Kryonet()给出异常;无法创建序列化程序…”;

Java 新客户端上的Kryonet()给出异常;无法创建序列化程序…”;,java,networking,game-development,kryonet,Java,Networking,Game Development,Kryonet,我正试图获得一个简单的客户机/服务器类来进行通信,以便以后用于在我的游戏中实现MP。问题是,当我执行newclient()时,我发现无法创建序列化程序异常,这显然是由于Kryonet jar中的ASM库过时而导致的问题 好吧,我去做的正是:更新库。我仍然得到错误。最后,我继续尝试在会议上提出的解决方案 但它仍然不起作用 我对这些想法感到茫然,没有更多的在线解决方案与我尝试过的不同,并且严重地浪费了我的时间。我真的需要克服这一点,把它扩大到我的比赛。错误如下: Exception in threa

我正试图获得一个简单的客户机/服务器类来进行通信,以便以后用于在我的游戏中实现MP。问题是,当我执行
newclient()
时,我发现
无法创建序列化程序
异常,这显然是由于Kryonet jar中的ASM库过时而导致的问题

好吧,我去做的正是:更新库。我仍然得到错误。最后,我继续尝试在会议上提出的解决方案

但它仍然不起作用

我对这些想法感到茫然,没有更多的在线解决方案与我尝试过的不同,并且严重地浪费了我的时间。我真的需要克服这一点,把它扩大到我的比赛。错误如下:

Exception in thread "main" java.lang.IllegalArgumentException: Unable to create serializer "com.esotericsoftware.kryo.serializers.FieldSerializer" for class: com.esotericsoftware.kryonet.FrameworkMessage$RegisterTCP
    at com.esotericsoftware.kryo.Kryo.newSerializer(Kryo.java:337)
    at com.esotericsoftware.kryo.Kryo.newDefaultSerializer(Kryo.java:316)
    at com.esotericsoftware.kryo.Kryo.getDefaultSerializer(Kryo.java:309)
    at com.esotericsoftware.kryo.Kryo.register(Kryo.java:353)
    at com.esotericsoftware.kryonet.KryoSerialization.<init>(KryoSerialization.java:33)
    at com.esotericsoftware.kryonet.KryoSerialization.<init>(KryoSerialization.java:25)
    at com.esotericsoftware.kryonet.Client.<init>(Client.java:75)
    at com.esotericsoftware.kryonet.Client.<init>(Client.java:57)
    at gamep2.net.client.GameClient.<init>(GameClient.java:30)
    at gamep2.net.client.GameClient.main(GameClient.java:55)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.esotericsoftware.kryo.Kryo.newSerializer(Kryo.java:324)
    ... 9 more
Caused by: java.lang.IncompatibleClassChangeError: Found interface org.objectweb.asm.MethodVisitor, but class was expected
    at com.esotericsoftware.reflectasm.FieldAccess.insertConstructor(FieldAccess.java:144)
    at com.esotericsoftware.reflectasm.FieldAccess.get(FieldAccess.java:109)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.rebuildCachedFields(FieldSerializer.java:104)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.<init>(FieldSerializer.java:50)
    ... 14 more
现在是服务器类:

public class Start {

    private static Server server;
    private int port = 54556;

    public Start() throws IOException{

        server = new Server();
        registerPackets();
        server.addListener(new NetworkListener());
        server.bind(port);
        server.start();

        System.out.println("Port: " + port);
        System.out.println("Starting server...");
    }

    private void registerPackets(){

        Kryo kryo = server.getKryo();
        kryo.register(Packet0LoginRequest.class);
        kryo.register(Packet1LoginAnswer.class);
        kryo.register(Packet2Message.class);
    }

    public static void main(String[] args){
        try {
            new Start();
            Log.set(Log.LEVEL_DEBUG);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

嘿,你能弄明白吗?
public class Start {

    private static Server server;
    private int port = 54556;

    public Start() throws IOException{

        server = new Server();
        registerPackets();
        server.addListener(new NetworkListener());
        server.bind(port);
        server.start();

        System.out.println("Port: " + port);
        System.out.println("Starting server...");
    }

    private void registerPackets(){

        Kryo kryo = server.getKryo();
        kryo.register(Packet0LoginRequest.class);
        kryo.register(Packet1LoginAnswer.class);
        kryo.register(Packet2Message.class);
    }

    public static void main(String[] args){
        try {
            new Start();
            Log.set(Log.LEVEL_DEBUG);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}