`
kalogen
  • 浏览: 878199 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Eclipse中出现“Add a serial version ID”的warning 解决办法

    博客分类:
  • Java
阅读更多

最近重新安装了Eclipse,在设计一个不继承任何类的类时,不会有任何warning,但在设计一个子类时,编译器经常提示“warning”,在网上查了很多资料终于搞定了这个问题:如下

测试提示:The serializable class FormatStr does not declare a static final serialVersionUID field of type long
     发现在我继承一些类时,会提示要这个,我打开所继承的类,里面是这样写的:

     static final long serialVersionUID = -3387516993124229948L;
     这个有什么作用呢??
     如果我这个子类一定要声明这个serialVersionUID 那应该怎样构造它的值呢??自己随便写一个long值就行了吗???
网上某人解答如下:
     那与jdk的版本没关系吧.
      那是Eclipse提供这个提示功能给你吧.
      你点它warning的icon两下Eclipse就会自动给定.
      如果你不喜欢,可以把它关掉,windows -> preferences -> compiler -> Error/Warnings-> Potential Programming problems
      将Serializable class without serialVersionUID的warning改成ignore.

      其实如果你没有考虑到兼容性问题时,那就把它关掉吧.
      其实有这个功能是好的.
      只要任何类别实作了Serializable这个介面,
      如果没有加入serialVersionUID,Eclipse都会给你warning提示,
      这个serialVersionUID为了让该类别Serializable後兼容.

      考虑一下,如果今天你的类Serialized存到硬碟里,
      可是後来你却更改了类别的field(增加或减少或改名).
      当你Deserialize时,就会出现Exception.这样就会做成不兼容性的问题.

      但当serialVersionUID相同时,它就会将不一样的field以type的预设值Deserialize.
      这个可以避开不兼容性的问题.

      至于你说内存的问题,我觉得没差多少吧.
      在eclipse中,当一个类继承另一个类时,总是提示一个如下问题:
     “The serializable class A does not declare a static final serialVersionUID field of type long”
      然后我按照eclipse的建议(add default serial Version ID),增加如下代码:
      private static final long serialVersionUID = 1L;就没有错误提示了。
      而且如果所定义的类没有继承其它类,也没有这个问题。
SUN官方网站解说摘要:
     adcworks : Hi,
                     I develop with Eclipse IDE and am using the latest milestone that includes Java 5 syntax.
                    Since having upgraded, I get hundreds of the same warning for any class that extends another class with the following message:
                     Serializable class X does not declare a static final serialVersionUID field of type long.
                    I would like to know
                     a) Should I really ought to be doing something properly with this field, and if so, can you advise the best way to approach that.
                     b) Can I turn off these warnings. They are not in the Eclipse filter to exclude.
                     c) Is it safe to ignore them?
                     Thanks!
   ehodges :
                     > a) Should I really ought to be doing something
                     > properly with this field, and if so, can you advise
                     > the best way to approach that.
Yes, if you actually serialize those objects. It can make version maintenance easier.
                     > b) Can I turn off these warnings. They are not in the Eclipse filter to exclude.
You turn them off on the Preferences | Compiler | Style page. It's the last item.
                     > c) Is it safe to ignore them?
Sure. You just won't have as much control over serialized versions.
  ehodges :
           > Use the serialver.exe tool that comes with the jdk.
              Or hit <ctrl>-1 in Eclipse. It will add a default or generated serial version ID for you.
http://forum.java.sun.com/thread.jspa?threadID=581654&messageID=3501336   (Sun网页地址)
分享到:
评论

相关推荐

    Eclipse运行TOMCAT 出现在a java exception has occurred的解决办法。

    Eclipse运行TOMCAT出现"a java exception has occurred"的解决办法 Eclipse是一款功能强大且广泛应用的集成开发环境(IDE),它支持多种编程语言,包括Java、C++、Python等。TOMCAT则是一款流行的Java Web服务器,...

    Eclipse错误解决办法

    如果Eclipse中出现错误提示,如“error in opening zip file”,表示Maven可能下载了不完整的JAR文件。要修复此问题,需手动删除`.m2\repository`目录下的问题文件,然后重新构建项目以触发Maven重新下载正确的JAR...

    Eclipse没反应或反应慢的解决办法

    Eclipse没反应或反应慢的解决办法 在eclipse中导入了一个很大的项目,然后就觉得eclipce变的好慢,动不动还会挂掉~ 这时候只要在eclipse的安装目录下,打开eclipce.ini文件,把默认的内存大小很改了,就应该能解决...

    在eclipse中中文汉字乱码的解决方案

    Eclipse 中中文汉字乱码的解决方案 Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE),但是在使用过程中,用户可能会遇到中文汉字乱码的问题。本文将为大家分享解决 Eclipse 中中文汉字乱码的方案,以便大家...

    删除eclipse3.4的configuration目录导致eclipse无法启动的解决办法

    ### 删除Eclipse 3.4的configuration目录导致Eclipse无法启动的解决办法 在使用Eclipse 3.4的过程中,有些用户可能会遇到这样的情况:为了安装新的插件或添加新的jar包,他们选择了删除Eclipse安装目录下的`...

    eclipse内存溢出的解决办法.txt

    本文将详细介绍Eclipse内存溢出的原因及具体的解决办法。 #### 一、内存溢出的基本概念 在Java应用中,“内存溢出”通常指的是Java虚拟机(JVM)在运行过程中,因为可用内存空间不足而引发的一种错误。这种错误...

    eclipse更新maven,jdk改变解决办法

    eclipse更新maven,jdk改变解决办法 eclipse更新maven时,项目原本设定的jdk版本发生改变,这是由于maven的编译器插件的默认设置所致。编译器插件用来编译项目的源文件,从3.0版本开始,默认编译器是javax.tools....

    Eclipse导入项目源码后中文乱码的解决办法

    Eclipse解决中文乱码问题 Eclipse是一个功能强大且广泛应用的集成开发环境(IDE),它支持多种编程语言,包括Java、C++、Python等。但是,在使用Eclipse时,经常会遇到中文乱码的问题,特别是在导入项目源码时。这...

    eclipse闪退解决办法

    eclipse闪退解决办法,这个文档里涵盖了5种办法,使得大多数人解决了eclipse闪退的问题。

    eclipse中JS中文乱码解决

    ### Eclipse中JS中文乱码解决办法 在使用Eclipse进行Web开发时,有时会遇到JavaScript文件中的中文出现乱码的情况,这通常是由于文件编码与Eclipse设置的编码不一致所导致的问题。为了解决这个问题,我们需要对...

    eclipse中xml文件里自动提示消失解决办法

    ### Eclipse中XML文件里自动提示消失解决办法 在Eclipse这款强大的开源集成开发环境中,XML文件的编写是非常常见的任务之一。然而,在实际操作过程中,不少用户可能会遇到XML文件中的自动提示功能突然消失的问题,...

    eclipse 格式化模板

    Add missing serial version ID (generated) Remove unnecessary casts Remove unnecessary '$NON-NLS$' tags Add unimplemented methods Sort members excluding fields, enum constants, and initializers ...

    eclipse(STS)安装 lombok插件重启后注解无效的解决办法

    在Eclipse或STS中安装Lombok插件是为了在编写代码时能够直接利用这些注解,从而提高开发效率。然而,有时安装完成后,尽管插件显示已成功安装,但在重启STS后注解可能仍然无效。这通常是由于配置不正确导致的。 ...

    eclipse中自动修改资源文件解决中文问题

    本文将详细探讨如何在Eclipse中自动修改资源文件以解决中文问题,并介绍相关插件的使用。 首先,了解Eclipse的编码设置至关重要。Eclipse的项目编码可以在项目的属性设置中进行更改。通过右键点击项目 -&gt; 属性 -&gt; ...

    eclipse提示失效解决办法

    ### Eclipse提示失效问题详解及解决方法 #### 一、问题背景 在使用Eclipse进行Java开发时,很多开发者会遇到一个常见的问题:Eclipse中的自动完成功能(即Alt+/快捷键)突然失效,无法正常使用。这给编程工作带来了...

    eclipse的中文注释缩进和大小不一致问题解决

    解决办法一: 1、下载eclipse-plugins.zip,解压到eclipse\plugins目录 2、修改文件eclipse\eclipse.ini,将原来的配置改为如下配置,其他的配置不动,只改第二行,第四行。 -startup plugins/org.eclipse...

    eclipse导入maven项目报错解决办法

    ### Eclipse导入Maven项目报错解决办法 在开发过程中,我们常常会遇到使用Eclipse导入Maven项目时出现的各种报错情况。本文旨在系统地介绍如何解决这些常见问题,包括但不限于配置环境、设置JDK版本、配置Maven库...

    eclipse编辑xml没有提示的解决办法

    这个问题的出现可能是由于Eclipse的相关插件未启用或者设置不正确导致的。下面将详细介绍如何解决"eclipse编辑xml没有提示"的问题。 首先,我们需要确保Eclipse安装了XML相关的开发工具。Eclipse本身就包含了基本的...

    eclipse中文包,附使用说明

    Eclipse是一款广泛使用的开源集成开发环境(IDE),主要用于...记得在使用过程中,如果遇到任何问题,可以查阅Eclipse的官方文档或者在线社区寻求帮助,那里有丰富的资源和热情的开发者愿意分享他们的经验和解决方案。

    向eclipse中导入外部项目

    * 在 Eclipse 中安装 Tomcat 插件可以使用 com.sysdeo.eclipse.tomcat_3.2.1,解压后放入 Eclipse\plugins 文件夹中,然后在菜单栏中出现三个 Tomcat 小猫的标记。 * 在 Eclipse 中使用 Tomcat 需要在 Windows---...

Global site tag (gtag.js) - Google Analytics