我想在序列化数据流中将字符串“com.oldpackage.className”替换为“com.newPackage.className”。该序列化数据从数据库中读取并在替换字符串后更新。
我在做同样的事情时遇到了一些问题。如果您已经猜到了,这是重构练习的一部分。是否有任何库可以帮助我操作序列化数据?如果您还可以评论任何预防措施或警告,这将会有很大的帮助。
多谢,
克里斯。
P.S:旧类和新类都没有将序列化版本 ID 声明为其字段的一部分。
我不知道如何做你正在尝试的事情,但我可以建议你“合法”的解决方案。实现在类路径中同时具有旧包和新包的转换器,并执行以下操作:从 DB 读取数据,使用旧包对其进行反序列化,在 java 中将旧实例转换为新实例,然后再次将新数据存储在 DB 中。
该解决方案需要执行一些肮脏的工作,但它是安全的。此外,结果可以在将来重复使用。但我祝您好运,找到仅替换序列化数据中的类名的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)