1
클래스의 새 버전을 정의해야하는 단계에 도달했습니다. 새로운 클래스 정의를 사용하면 일부 메소드가 추가되고 일부 데이터 멤버 유형은 변경되었습니다. 내 질문은 내 서버가 변경되지 않도록하면서 이전 클라이언트를 계속 제공하려면 어떻게해야합니까? 나의 새로운 클래스와클래스의 최신 버전이있는 ClassCastException
예외
java.io.InvalidClassException: com.mcruiseon.carpool.concrete.SubscribeJourneyConcrete; incompatible types for field isJourneyActive
, 아니 isJourneyActive
이 없습니다.
내가 여기에 기본적인 것을 놓치고 있다는 것을 알고 있는데, serialVersionUID
을 확인하는 것과 관련이 있습니다.
serialVersionUID가 도움이되지 않습니다. 오래된 고객을 해치지 않기 위해 변경을해야합니다. 또는 클라이언트 입력에 따라 서버 jar의 다른 버전을 동적으로로드 할 수 있다고 생각하십니까? –
오 하나님, 다른 서버. 나는 serialuid를 유지하는 것이 왜 도움이되지 않을까? – Siddharth
일반적으로 serialuid는 직렬화입니다. –