i recently changed my distro to arch
from manjaro
which comes installed with openjdk
, the problem with that is i couldn't read the java developer code (like for example, I want to read how Queue
is implemented - couldn't do it with openjdk
for some reason), so i installed oracle jdk-16
which solved the problem - i could now ctrl + leftclick
on some entity and view its implementation. But that posed a new problem, when ever i start vscode
it shows me this error
Invalid runtime for JavaSE-16: Runtime at '/usr/lib/jvm/java-16-jdk' is not compatible with
the 'JavaSE-16' environment.
I tried every other value for runtime path
in the java:configure java runtime
but I end up getting the same problem but with different runtime path
.
I even changed my default java in my os using archlinux-java set java-16-jdk
and checked it if it was set correctly using archlinux-java status
and it says java-16-jdk
is the default jdk.
Here, is my the relevant part of settings.json
-
"java.configuration.runtimes": [
{
"name": "JavaSE-16",
"path": "/usr/lib/jvm/java-16-jdk",
"default": true
}
],
"java.home": "/usr/lib/jvm/java-16-jdk"
Also when i hover over the name attribute of java.configuration.runtime i get this following hint -
Value is not accepted. Valid values: "J2SE-1.5", "JavaSE-1.6", "JavaSE-1.7", "JavaSE-1.8",
"JavaSE-9", "JavaSE-10", "JavaSE-11", "JavaSE-12", "JavaSE-13", "JavaSE-14", "JavaSE-15
I'm kinda new to java, so any help is appreciated. Thanks
There's github issue for reporting java extension doesn't support java16, so engineers are adding support for java16. It may be achievable in next update.