Visual Studio代码- Java -导入错误等

zc0qhyus  于 2023-02-28  发布在  Java
关注(0)|答案(8)|浏览(143)

刚刚开始在工作中处理一个现有的项目,并希望使用Visual Studio代码作为我的IDE(我在最近的一个Rails项目中使用过它,并喜欢它,所以想尝试使用Java)。
然而,每当我尝试打开其中一个项目时,我会收到大量不同的错误,包括:

  • 导入java.io、java.util或类似内容时,将出现以下错误:

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

  • 现有类存在错误:

“未定义默认构造函数的隐式超级构造函数。必须定义显式构造函数”

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

所有这些似乎都源于我在VS代码中遇到的某种设置错误,但似乎可以找到它是什么。我已经卸载并重新安装了RedHat插件,该插件为VS代码启用了Java语言。
我试过将扩展中的java_home设置设置为直接安装位置,但没有成功。尝试卸载并重新安装java,也没有成功。
我的操作规范如下:

  • 操作系统:macOS
  • VS代码版本1.15.1
  • JDK版本1.8.0.144

你知道是什么原因造成的吗?你认为这可能是VS代码设置的错误,还是现有项目设置的错误(或者不兼容)?

irtuqstp

irtuqstp1#

我遇到过类似的问题,解决方法是从VS代码的工作区存储目录中删除所有内容,该目录位于$HOME/Library/Application Support/Code/User/workspaceStorage/
我在这里找到了这个解决方案:www.example.comhttps://github.com/redhat-developer/vscode-java/wiki/Troubleshooting#clean-the-workspace-directory

  • 更新:* 从Red Hat的Java(TM)语言支持版本0.33.0开始,现在可以在VS代码中执行此操作。打开命令面板并键入"java clean"(请参阅链接中的官方说明)。
7uhlpewt

7uhlpewt2#

如前所述,您需要清理项目,但这有点困难,因为每个文件夹都是一个GUID,您不知道要清除哪个文件夹,因此需要删除所有内容。从0.33.0版本的插件开始,您也可以在IDE中自动执行此操作,使用CTRL + Shift + P并键入java clean,IDE将向您显示建议提示,*Java:清理Java语言服务器工作区 *。选择后,同意并重新启动IDE。IDE将为您清理语言服务器工作区。
另一种方法是使用IDE中的Maven工具。如果安装了此插件,则可以使用侧边栏并利用Maven项目助手选项来执行清理、安装和打包等操作。例如,下面是我正在使用的项目及其显示的选项,

它可以图形化地用来管理你的Maven项目。而且,它可以和Java Extension Pack一起使用,但还不确定它和其他扩展的行为。

ecbunoof

ecbunoof3#

对于我:CMD + Shift + P然后键入“Java:清理Java语言服务器工作区”
注意:这也会重新加载/重新启动vscode。
更新:这似乎无法解决我的问题。在我的案例中,我使用的是Gradle项目,需要将settings.gradle中的rootProject.name设置为与项目所在的文件夹名称相同。

wljmcqd8

wljmcqd84#

我在一台计算机上创建了一个完整的Java项目,然后试图在另一台计算机上运行它之后遇到了这个问题。
在做了其他答案中提到的所有事情之后,真正让VS代码编译的是在VS代码中打开每个项目java文件并保存它(一个简单的Ctrl + S)。也许有一个更简单的方法来做这件事,但这对我来说是有效的,我希望这能帮助任何陷入这个问题的人。

ds97pgxw

ds97pgxw5#

按ctrl+shift+p,然后搜索“java clean”并单击“java:“清理java语言服务器工作区”,然后单击“重新启动IDE”。

o2gm4chl

o2gm4chl6#

我发现了另一个简单的技巧,至少可以消除“无法解析为类型”的错误,我猜这些错误来自旧的工作空间和错误的项目文件。我只是运行了一个空的main(),主体注解掉了,同时仍然保持我的本地包/导入命令在开始-没有错误。再次注解后,项目编译没有错误。也许这个刷新效果在这个上下文中也会有帮助?

4dbbbstv

4dbbbstv7#

我必须清理此文件夹才能让它在Windows上工作
%APPDATA%\code\Local Storage

lymnna71

lymnna718#

什么也不能做,只是打开这个文件到新的文件夹,然后运行它。它应该prperly现在运行。

相关问题