Pregunta

Me gustaría eliminar algunas advertencias para algunas clases mediante la generación de una versión de serie ID automático. En Eclipse, esto es trivial para hacerlo - el IDE puede generar una forma automática y añadirlo a la clase. Sin embargo, no veo esta funcionalidad en NetBeans. ¿Está disponible? Si es así, donde está? Si no, ¿hay un plugin que puede habilitarlo?

¿Fue útil?

Solución

En realidad, mi solución a este "problema" fue a desactivar esa advertencia en la configuración de mi proyecto (I utilizar Eclipse, pero supongo que para NetBeans es la misma) como en mi humilde opinión es una advertencia incorrecta: no tener a serialVersion es la opción más segura porque la JVM calcula que es único en el lanzamiento (algo así como el hash de la clase) al tiempo que añade explícitamente a continuación agobia cuidar para actualizarlo si y sólo si ha realizado cambios incompatibles con su código.

Por lo tanto, si no se preocupan por eso, es mejor evitar ese valor (de esta manera es sólo compatible con la versión de que son compatibles seguro , pero con algunos falsos positivos: se cree que es no es compatible, pero en realidad lo haría) en vez de poner existe un valor fijo que usted (probablemente, en mi caso) se olvide de actualizar cuando sea necesario, lo que conduce a errores de validez reales (falsos negativos: se cree que es compatible pero no lo es).

Otros consejos

Parece que fuera de la caja NetBeans no soporta la característica, pero plug-ins de hacer.

Por favor, eche un vistazo a

enlace 1 , enlace 2 y enlace 3

Esto es trivial que hacer manualmente, así, a menos que necesite mantener la compatibilidad con las instancias existentes en serie. Sólo tienes que copiar esta línea en la clase:

private static final long serialVersionUID = 1L;

Tenga en cuenta que no hay absolutamente ningún requisito para la serialVersionUID a ser único en todas las clases.

Para desactivar estas advertencias en Netbeans:

  1. abiertos: Herramientas -> Opciones
  2. Open: Editor -> ficha Sugerencias
  3. Seleccionar Idioma: Java
  4. Deseleccionar advertencias estándar javac -> serialización
  5. Aceptar

También tuve que borrar ~ / .netbeans / 6,8 / var / cache y reiniciar Netbeans para despejar las advertencias de la lista de tareas.

(Para el usuario que, cuando piden misma pregunta ahora)
Estoy usando nb7.4 y encontré este plugin de nb6.5 a nb7.4
complemento
Lo he comprobado en nb7.4 y trabajo bien. Para el significado de la versión Servial mirada identificación en los
serialVersionUID
si se agrega explícitamente se puede hacer toda modificación de su clase sin cambiar el UID no hasta que tenga la clase serializada y guardarla en algún sitio: si crea la clase A serializarlo
terminar luego almacenarla en la base de datos
Fin a continuación, cambiar la toma de la clase A no más compatible con la vieja clase A,
cuando alguien intente cargar el objeto serializado desde la última clase A a la nueva clase A que puede tener un problema.

Cuando se cambia la clase A y la hacen incompatible con la última clase A tiene que cambiar UID así que si alguien trata de cargarlo recibirá InvalidClassExceptions.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top