Pergunta

Gostaria de remover alguns avisos para algumas classes, gerando um ID automático da versão serial. No Eclipse, isso é trivial - o IDE pode gerar um automaticamente e adicioná -lo à classe. No entanto, não vejo essa funcionalidade no NetBeans. Está disponível? Se sim, onde está? Caso contrário, existe um plugin que pode ativá -lo?

Foi útil?

Solução

Na verdade, minha solução para esse "problema" era Desative esse aviso Na minha configuração do projeto (eu uso o Eclipse, mas acho que para o NetBeans é o mesmo), pois o IMHO é um aviso errado: não tendo Uma verificação serial é a escolha mais segura, porque a JVM calcula uma que é única no lançamento (algo como o hash da classe) enquanto a adiciona explicitamente depois sobrecarrega vocês Para tomar cuidado para atualizá -lo se e somente se você fizer alterações incompatíveis no seu código.

Portanto, se você não se importa com isso, é melhor evitar esse valor (dessa maneira é compatível apenas com a versão compatível com certeza, mas com alguns falsos positivos: acha que isso não é compatível, mas na verdade seria) em vez de colocar um valor fixo que você (provavelmente, no meu caso) esquecesse de atualizar quando necessário, levando a erros de validade reais (false -Egativos: pensa que é compatível, mas não é).

Outras dicas

Parece que o NetBeans fora da caixa não suporta o recurso, mas os plug-ins.

Por favor, dê uma olhada

Link 1, Link 2 e Link 3

Isso também é trivial fazer manualmente, a menos que você precise permanecer compatível com as instâncias serializadas existentes. Basta copiar esta linha para a classe:

private static final long serialVersionUID = 1L;

Observe que não há absolutamente nenhum requisito para o serialVersionUID para ser único nas aulas.

Para desativar esses avisos em Netbeans:

  1. Aberto: Ferramentas -> Opções
  2. Aberto: Editor -> Guia Dicas
  3. Selecione Idioma: Java
  4. Desmarcar avisos Javac padrão -> Serialização
  5. OK

Eu também tive que limpar ~/.NetBeans/6.8/var/cache e reiniciar o NetBeans para limpar os avisos da lista de tarefas.

(Para o usuário, onde faça a mesma pergunta agora)
Estou usando o NB7.4 e encontrei este plugin de NB6.5 a NB7.4
plugar
Eu o testei no NB7.4 e fui bem. Para o significado da versão de servidor, veja
SerialversionUid
Se você adicioná -lo explicitamente, poderá fazer toda a sua classe sem mudar o UID até que você não tenha sua classe serializada e armazenar em algum lugar: se você criar a classe A serializá -la
termine, então armazene -o no banco de dados
final então altere a classe A não tornando mais compatível com a antiga classe A,
Quando alguém tenta carregar o objeto serializado da última classe A para a nova classe A, ele pode ter problemas.

Quando você altera a classe A e a torna incompatível com a última classe A, você precisa alterar o UID; portanto, se alguém tentar carregá -lo, será invalidado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top