【问题标题】:Visual Studio Code Java: Disable serialVersionUID warningVisual Studio Code Java:禁用 serialVersionUID 警告
【发布时间】:2018-09-15 00:17:17
【问题描述】:

我正在学习计算机科学课程,其中作业样板代码是一个 Java 框架,其中大多数类(或其超类)都扩展了 Serializable。最终发生的事情是 VSCode 向我抱怨

The serializable class [insert class name here] does not declare a static final serialVersionUID field of type long"

几乎所有的起始代码。我知道在 IntelliJ 和 Eclipse 等其他 IDE 中,可以为所有 Java 项目抑制此特定警告。 VSCode 中的等效操作是什么?我已经安装了 Java 语言支持包。

以下是我无法声明 serialVersionUID 或使用 @SuppressWarnings 的原因:

  1. 这将迫使我修改不允许修改的代码。教授只希望学生实施框架的某些领域。

  2. 我需要对大约 30 个不太理想的类进行这些更改。

【问题讨论】:

  • 为什么不直接声明那个字段呢? :)
  • 要声明该字段,我需要为几十个类声明它,并且我不应该更改那部分代码。我只能更改讲师希望我们更改的部分。
  • @AndyTurner 是的
  • 恕我直言,这个问题是完全有效的,内联: new HashMap() {{put{"a", "b"}}} 这个警告被提出了,但你肯定会不想要这个

标签: java visual-studio-code syntax-error warnings serializable


【解决方案1】:

目前,VSCode 的 Java 支持会读取一个名为 .settings/org.eclipse.jdt.core.prefs 的文件,作为其 Eclipse 项目支持的一部分。这是项目根文件夹中名为.settings 的文件夹,然后是该文件夹中名为org.eclipse.jdt.core.prefs 的文件。

在此文件中,我们可以通过添加以下行来抑制 serialVersionUID 警告: org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore

现在只需重新启动 VS Code,这些警告将不再出现。

【讨论】:

  • 感谢分享您的解决方案!尽管许多人反对您关于“最佳实践”或您“应该”做什么的问题,但有时我们只是想知道“如何”做某事。展望未来,猜测我们可以使用 Eclipse 来配置首选项并在 VS Code 中使用它们。
  • Shell 命令添加这个:mkdir -p .settings && touch .settings/org.eclipse.jdt.core.prefs && echo "org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore" >> .settings/org.eclipse.jdt.core.prefs
  • 是否有任何扩展可以帮助我们生成serialVersionUID?
  • 似乎不再需要重新启动。
猜你喜欢
  • 1970-01-01
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
  • 2013-06-02
  • 1970-01-01
相关资源
最近更新 更多