100

Just starting working on an existing project at work and wanted to use Visual Studio Code as my IDE (I have used it for a recent Rails project and loved it, so wanted to try with Java).

However, whenever I try to open one of the projects I receive a ton of different errors including:

  • When importing java.io, java.util, or anything similar, the error:

"The import of java.io (or java.util) cannot be resolved"

  • Existing classes have an error:

"The implicit super constructor is undefined for default constructor. Must define explicit constructor"

  • Other random "cannot resolve to a type" errors.

All of these seem to stem from some sort of setting error I have with VS Code but can seem to find what it is. I have already uninstalled and reinstalled the RedHat plug-in that enables the Java language for VS Code.

I have tried setting the java_home setting in the extension to the direct location of the install but that didn't work. Tried uninstalling and reinstalling java and that also didn't work.

My operating specs are as follows:

  • OS: macOS Sierra

  • VS Code version 1.15.1

  • JDK version 1.8.0.144

Any idea on what may be causing this? Do you think it may be an error in how I have VS Code set up or if it's an error (or rather incompatibility) with how the existing project is set up?

Reed Hermes
  • 1,958
  • 4
  • 16
  • 22
  • 9
    Spent hours on this too. If you are using Maven, I ended up right clicking on my main "pom.xml", then clicking "Update project configuration". This regenerated my .classpath and .project files and it fixed the issue for me. – Andrew Oct 31 '18 at 18:24

8 Answers8

205

I ran into a similar issue. The solution was to remove everything from VS Code's workspace storage directory, which was located at $HOME/Library/Application Support/Code/User/workspaceStorage/.

I found this solution here: https://github.com/redhat-developer/vscode-java/wiki/Troubleshooting#clean-the-workspace-directory

Update: This can now be done from within VS Code as of Language Support for Java(TM) by Red Hat Version 0.33.0. Open the command palette and type "java clean" (see official description in link).

toreyhickman
  • 2,236
  • 1
  • 13
  • 8
36

As already mentioned previously, you require to clean the project, but that is a bit difficult thing because every folder is a Guid, and you do not know which one to clear, thus requiring you to delete everything. Starting with 0.33.0 version of the plugin you can automatically do that from within the IDE as well, use CTRL + Shift + P and type, java clean, and IDE will show you the suggestion tip for, Java: Clean the Java language server workspace. Upon selection, agree and restart the IDE. It will clean the language server workspace for you.

Another approach can be, the Maven tools within the IDE. If you have this plugin installed, you can use the side bar and utilize the Maven project helper options to perform actions like, clean, install, and package etc. For example, here is the project I am having and the options this shows,

enter image description here

That can be used, graphically, to manage your Maven-based projects. Also, this would work with the Java Extension Pack, not sure yet as to how it would behave with other extensions.

Afzaal Ahmad Zeeshan
  • 15,669
  • 12
  • 55
  • 103
  • 4
    Thanks. It also works well for me by just typing `F1` and get`Java: Clean the Java language server workspace` – Diya Li Apr 28 '19 at 02:14
14

For me: CMD + Shift + P Then type "Java: Clean Java language Server Workspace"

Note: This will reload/restart vscode as well.

Update: This appears to not fix it anymore for me. In my case I am using a gradle project, and needed to set the rootProject.name in the settings.gradle to be the same as the folder name that the project is in.

TigerBear
  • 2,479
  • 1
  • 21
  • 24
7

Press ctrl+shift+p then search 'java clean' and click 'java: clean java language server workspace' then click restart IDE.

Chetan Gupta
  • 97
  • 1
  • 6
5

I faced this issue after creating a whole Java project in one computer and then trying to run it on another computer.

After doing everything said in the other answers, what really made VS Code compile was to open each single project java file in VS Code and save it (a simple Ctrl + S). Maybe there is a simpler way of doing it, but that is what worked for me and I hope this helps anyone stuck in this issue.

LucianoBAF
  • 189
  • 2
  • 6
1

I found another simple trick at least to get rid of "cannot be resolved to a type" errors which were coming from older workspaces and wrong project files I guess?. I just ran an empty main(), with the body commented out, while still keeping my local package / import commands at the start - no errors. After commenting in again, the project compiled without errors. Perhaps this refreshing effect might also help in this context?

questionto42
  • 7,175
  • 4
  • 57
  • 90
-1

I had to clean this folder to get it working on Windows

%APPDATA%\code\Local Storage

Arjun Shetty
  • 1,575
  • 1
  • 15
  • 36
-1

Nothing can do, just open this file into new folder and after that run it. It should prperly run now.

  • 1
    This does not provide an answer to the question. Once you have sufficient [reputation](https://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](https://stackoverflow.com/help/privileges/comment); instead, [provide answers that don't require clarification from the asker](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). - [From Review](/review/late-answers/33924517) – Dhaval Purohit Mar 01 '23 at 19:54