Visual Studio Code - Java - 导入错误等

Posted

技术标签:

【中文标题】Visual Studio Code - Java - 导入错误等【英文标题】:Visual Studio Code - Java - Import Errors and More 【发布时间】:2018-01-26 09:08:01 【问题描述】:

刚开始在工作中处理现有项目并想使用 Visual Studio Code 作为我的 IDE(我已将它用于最近的 Rails 项目并喜欢它,因此想尝试使用 Java)。

但是,每当我尝试打开其中一个项目时,都会收到大量不同的错误,包括:

导入 java.io、java.util 或任何类似内容时,错误:

“无法解析java.io(或java.util)的导入”

现有类有错误:

"默认构造函数未定义隐式超级构造函数,必须定义显式构造函数"

其他随机“无法解析类型”错误。

所有这些似乎都源于我在使用 VS Code 时遇到的某种设置错误,但似乎可以找到它是什么。我已经卸载并重新安装了为 VS Code 启用 Java 语言的 RedHat 插件。

我已尝试将扩展程序中的 java_home 设置设置为安装的直接位置,但这不起作用。尝试卸载并重新安装java,但也没有用。

我的操作规范如下:

操作系统:macOS Sierra

VS Code 版本 1.15.1

JDK 版本 1.8.0.144

您知道是什么原因造成的吗?您认为这可能是我设置 VS Code 的方式有误,还是与现有项目的设置方式有误(或者说不兼容)?

【问题讨论】:

在这方面也花了几个小时。如果您使用的是 Maven,我最终右键单击我的主“pom.xml”,然后单击“更新项目配置”。这重新生成了我的 .classpath 和 .project 文件,它为我解决了这个问题。 【参考方案1】:

我遇到了类似的问题。解决方案是从 VS Code 的工作区存储目录中删除所有内容,该目录位于 $HOME/Library/Application Support/Code/User/workspaceStorage/

我在这里找到了这个解决方案:https://github.com/redhat-developer/vscode-java/wiki/Troubleshooting#clean-the-workspace-directory

更新:从 Red Hat 0.33.0 版的 Java(TM) 语言支持开始,现在可以在 VS Code 中完成此操作。打开命令面板并输入“java clean”(见链接中的官方描述)。

【讨论】:

我遇到了同样的问题,这个解决方案对我有用。这是我可以期待再次发生的事情吗? O MY GOD IT WORKED I AM SO SHOCKED 该文件夹在 Windows 的什么位置? 根据链接,您可以在 Windows 上的 `%APPDATA%\Code[ - Variant]\User\workspaceStorage` 中找到该文件夹​​。 在我的情况下,清理并重新启动工作区后它不起作用【参考方案2】:

如前所述,您需要清理项目,但这有点困难,因为每个文件夹都是一个 Guid,您不知道要清除哪个,因此需要您删除所有内容。从插件的 0.33.0 版本开始,您也可以在 IDE 中自动执行此操作,使用 CTRL + Shift + P 并键入 java clean,IDE 将向您显示关于Java:清理 Java 语言服务器工作区的建议提示。选择后,同意并重新启动 IDE。它将为您清理语言服务器工作区。

另一种方法可以是 IDE 中的 Maven 工具。如果你安装了这个插件,你可以使用侧边栏并利用 Maven 项目助手选项来执行诸如清理、安装和打包等操作。例如,这是我拥有的项目和显示的选项,

这可用于以图形方式管理基于 Maven 的项目。此外,这将适用于 Java 扩展包,但尚不确定它与其他扩展的表现如何。

【讨论】:

谢谢。只需键入 F1 和 getJava: Clean the Java language server workspace,它对我也很有效【参考方案3】:

对我来说:CMD + Shift + P 然后输入“Java: Clean Java language Server Workspace”

注意:这也会重新加载/重新启动 vscode。

更新: 这似乎不再为我解决了。在我的情况下,我使用的是 gradle 项目,并且需要将 settings.gradle 中的 rootProject.name 设置为与项目所在的文件夹名称相同。

【讨论】:

这不能从我这边解决:( 是的,这个用途...现在问题已经发生了变化,并且与 settings.gradle.... 将更新我的答案 maven 项目在哪里?【参考方案4】:

我在一台计算机上创建了整个 Java 项目,然后尝试在另一台计算机上运行它后遇到了这个问题。

在完成其他答案中所说的一切之后,真正使 VS Code 编译的是在 VS Code 中打开每个项目 java 文件并保存(一个简单的 Ctrl + S)。也许有一种更简单的方法,但这对我有用,我希望这可以帮助任何陷入这个问题的人。

【讨论】:

这听起来可能很奇怪,但实际上也为我解决了问题!谢谢。 同理,自动保存的时候很方便。【参考方案5】:

我发现了另一个简单的技巧,至少可以摆脱“无法解析为类型”的错误,这些错误来自旧工作区和我猜的错误项目文件?我刚刚运行了一个空的 main(),正文被注释掉了,同时仍然在开始时保留我的本地包/导入命令 - 没有错误。再次注释后,项目编译没有错误。也许这种令人耳目一新的效果在这种情况下也可能有所帮助?

【讨论】:

【参考方案6】:

我必须清理这个文件夹才能让它在 Windows 上运行

%APPDATA%\code\Local Storage

【讨论】:

我找不到这个位置,你能给出绝对路径

以上是关于Visual Studio Code - Java - 导入错误等的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code - Java - 导入错误等

Java on Visual Studio Code的更新 – 2021年4月

在 Visual Studio Code 中美化/格式化 Java 代码

使用Visual Studio Code开发和调试Java Burp扩展

Visual Studio Code - Java - Lombok - 该方法未针对该类型定义

8月更新| Java on Visual Studio Code