Erro na deserialização

5 respostas
labbati

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

5 Respostas

B

Ola,

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

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

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.

Criado 23 de setembro de 2008
Ultima resposta 23 de set. de 2008
Respostas 5
Participantes 2