我已达到需要定义新版本类的阶段。使用我的新类定义,添加了一些方法,一些数据成员类型已更改。我的问题是,如何继续为我的老客户服务,同时确保我的服务器不变。
异常
java.io.InvalidClassException: com.mcruiseon.carpool.concrete.SubscribeJourneyConcrete; incompatible types for field isJourneyActive
我的新课程没有isJourneyActive
。
我知道我在这里缺少一些基本的东西,与检查serialVersionUID
。
答案 0 :(得分:0)
一个建议是,只要方法不再存在,就弃用它。
实现它的一种方法是使用不推荐使用该方法的中间版本。
因此在版本1上,方法isJourneyActive正在使用 在版本2上,方法isJourneyActive仍在使用,但您希望您的客户开始使用方法setJourneyActive,因此您不推荐使用isJourneyActive 在版本3上,方法isJourneyActive不再存在,或者它存在,但它只是在用户尝试使用它时抛出异常。
还有其他方法,但它们比仅弃用方法更复杂。