【问题标题】:KryoException: Unable to find class on Linux onlyKryoException:仅在 Linux 上无法找到类
【发布时间】:2016-12-04 08:03:06
【问题描述】:

在 linux 服务器上反序列化对象时出现下一个异常,而它在我的 windows PC 上运行良好。

线程“main”com.esotericsoftware.kryo.KryoException 中的异常:无法找到类:CLASS_PATH

对象仅在本地(服务器或PC)进行序列化和反序列化 我检查了服务器上的路径,它与CLASS_PATH相同,大小写相同。

【问题讨论】:

  • 很可能,您的两个系统上的 CLASSPATH 设置不同。变量看起来是否相同并不重要;问题是您系统上的真实课程需要在那里。此外:这真的是错误消息吗 - 抱怨缺少一个名为 CLASS_PATH 的类?!
  • 我只是不想显示真实的类/包名称,所以我写了 CLASS_PATH。我使用 git 和 maven 工具来构建项目,两台机器上的设置都是一样的。有没有可能是因为我在不同的包中具有相同的类名而存在问题?
  • 坏主意;因为那令人困惑。您至少可以使用 com.whatever.myproduct.mypacke.SomeClass 之类的东西。但无论如何,那么您的问题就很清楚了:在您的 Linux 系统上的 CLASS_PATH 中确实存在一个类。
  • calsspath没有问题。我为未找到的课程使用了 kry 注册,并且它有效。还是谢谢!

标签: java linux kryo


【解决方案1】:

我有具有相同类名但在不同包中的类。 使用这些类的 kryo 注册解决了这个问题。

kryo.register(SomeClass.class);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-17
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2022-01-07
    相关资源
    最近更新 更多