摆脱Eclipse生成的serialVersionUID上面的注释

时间:2014-02-07 15:06:05

标签: java eclipse comments serializable serialversionuid

这已成为我的一个宠儿。我写了一个课程,并实施Serializible。然后eclipse警告我,我没有serialVersionUID,所以我选择" 添加生成的serialVersionUID "或" 添加默认的serialVersionUID "我最终得到这样的东西:

  /**
   * 
   */
  private static final long serialVersionUID = 4049849541314027178L;

大部分时间我都不想添加评论,因此我必须删除评论。我宁愿默认是没有评论,但我已经查看了偏好中的代码模板,并且没有想出如何更改它。我只是希望它看起来像这样:

  private static final long serialVersionUID = 4049849541314027178L;

2 个答案:

答案 0 :(得分:28)

它正在使用模板生成任何eclipse生成的字段。

您可以在

中进行更改
 Preferences -> 
     Java -> 
        Code Style -> 
           Code Templates -> 
              Comments -> 
                 Fields

......无论是全球还是每个项目。

答案 1 :(得分:0)

要从第一个答案进一步解释,serialVersionUID的自动生成的注释只是注释模板的生成,适用于所有字段,包括该字段。当您从工具栏的“源”部分为该字段生成元素注释(Alt + Shift + J)时,它将运行。

重要的事实是,当您快速修复

时,字段注释的生成也会自动运行
  

可序列化的类[ClassName]没有声明类型为long的静态最终serialVersionUID字段”

所有字段禁用/更改生成的注释

您可以在执行原始回答者@slim的回答后,通过单击 edit 空白注释来阻止所有字段的注释生成,例如

  

Toolbar -> Window -> Preferences -> Java -> Code Style -> Code Templates -> Comments -> Fields

快速修复 serializable 警告之后,请注意,注释不再自动生成。

仅针对SerialVersionUID

禁用/更改评论的自动生成

不幸的是,没有选项可以通过快速修复来防止为SerialVersionUID自动生成注释,而不会空白所有字段的注释生成模板。在“首选项”中搜索“注释”或“序列”时没有这种选项。

幸运的是,这无关紧要,因为对于其他字段,它仅在您为该字段生成元素注释时生成。而且,您还可以选择手动注释或Javadoc字段。

示例

此代码摘录(仅显示字段)显示有关序列化的警告。

public class SomePanel extends JPanel {
    private String name;
    /* ... */
}

您可以快速修复此警告,并在name字段中生成元素注释。无需清空模板,您将获得serialVersionUID不需要的模板:

public class SomePanel extends JPanel {
    /**
     *
     */
    private static final long serialVersionUID = -5173652620102412871L;
    /**
     * 
     */
    private String name;
    /* ... */
}

在清空用于字段注释生成的模板后,您将得到预期的结果:

public class SomePanel extends JPanel {
    private static final long serialVersionUID = 1L;
    private String name;
    /* ... */
}