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扩展