Pessoal esta ocorrendo o erro abaixo quando tento desealizar um objeto.
RTPParameter deserializeObject exception: minhaClasse;
local class incompatible: stream classdesc serialVersionUID = -4991015656542548375, local class serialVersionUID = 2980388463601052613
at minhaClasse2
Isto ocorre quando a versão serializada é diferente da que vc está usando, imagine o cenário:
Usando RMI, no servidor vc tem uma classe, com uma versão, e no cliente outra, quando houver o envio o erro ira ocorrer.
Quando vc serializa uma classe em um FS, por exemplo, vc serializou um versão da classe, e mexeu nela, compilou novamente, e está tentando deserializar a classe, ocorre o erro.
labbati
Ola Bruno. Obrigado pela solução. Pelo que entendi tem que especificar este serial version UID em todas as classes serializaveis para evitar este problema de alterar as mesmas e quando for publicar ocorrer este problema de imcompatibilidade.
Obrigado novamente
::: As dúvidas levam ao conhecimento :::
B
BrunoCarlo
labbati:
Ola Bruno. Obrigado pela solução. Pelo que entendi tem que especificar este serial version UID em todas as classes serializaveis para evitar este problema de alterar as mesmas e quando for publicar ocorrer este problema de imcompatibilidade.
Obrigado novamente
::: As dúvidas levam ao conhecimento :::
É isto ajuda bastante, mas este serialversion é calculado pelo compilador, quando vc não informa, e ele muda quando á uma alteração na classe, tais como o surgimento de um novo atributo, metodo… vc declarar ele ajuda bastante.
labbati
Mais uma dúvida. Como saber qual o valor Long inserir neste serial version, por exemplo se o mesmo já não esta sendo usado em outra classe do projeto?
B
BrunoCarlo
Ola,
Algumas IDE’s geram pra vc este serialversion, mas se não me engano vc pode inserir qq um, sem medo desta compatibilidade que vc comentou, pois este serialversion é para a classe, não tem influencias em outras classes.