2024. 3. 14. 18:16ㆍError
Background:
내 노트북에 새로운 java 21버전을 다운받으면서 vsc에서 돌리던 자바 프로젝트가 안돌아갔다.
vsc에서 jdk 21을 쓰도록 설정했지만, 뭔가 꼬이면서 제대로 실행이 제대로 안됐다.
이를 해결하기 위해 아래와 같이 settings.json에 들어가서 jdk를 jdk-21로 설정해줬지만 에러가 발생했다.
"java.jdt.ls.java.home": "/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home"
Error:
the java.jdt.ls.java.home variable defined in visual studio code settings (/library/java/javavirtualmachines/jdk-21.jdk) does not point to a jdk.
JDK path를 설정해줬지만, vsc가 찾지 못하고 있다.
Solution:
내 노트북에는 Java 버전이 총 3가지가 있었다.
JDK 11, 17, 21
이 3가지를 모두 등록해주고, 21 버전을 default로 설정해주었더니 문제가 해결되었다.
settings.json 파일에 자바 등록을 다음 코드로 해준다.
"java.configuration.runtimes": [
{
"name": "JavaSE-21",
"path": "/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home",
"default": true
},
{
"name": "JavaSE-17",
"path": "/opt/homebrew/Cellar/openjdk@17/17.0.9/libexec/openjdk.jdk/Contents/Home"
},
{
"name": "JavaSE-11",
"path": "/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home"
}
]
참고로 자바 path를 입력할 때 꼭 "/Content/Home"까지 작성해주어야한다.
이렇게 settings.json을 바꿔주니 Java가 jdk를 제대로 인식해서 프로젝트가 잘 돌아간다!
+)
다음 캡쳐와 같이 cmd + shift + p를 눌러서 'Java: Configure Java Runtime'에 들어가면,
내 노트북에 있는 Java 버전들과 path가 나온다.
버전들을 하나씩 눌러보았는데, 누를 때마다 settings.json 파일에 해당 자바 버전이 코드로 등록되었다.
그리고 현재 버전으로 설정한 버전이 default로 코드에도 세팅이 된다.
아래처럼 Java Version을 21로 선택할 경우, 코드에서 21버전을 default로 설정한다.
"name": "JavaSE-21",
"path": "/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home",
"default": true
*reference
https://firstblog912.tistory.com/133
[vscode] java 개발 환경 셋팅
Eclips로 알고리즘 문제를 풀어서 포스팅을 하곤 했는데 가끔 블로그 포스팅까지는 하기 싫은 날도 있고 Eclips는 너무 무겁고 로딩시간도 오래걸려서 VSCode로 바꿔보려고 한다. Git에 알고리즘 Reposi
firstblog912.tistory.com
Invalid runtime for JavaSE-11: The path points to a missing or inaccessible folder
My VSCode is no longer recognizing the paths of the java runtime. I was using them normally and now it doesn't work on the same projects anymore. Here are the error messages and my settings. The pa...
stackoverflow.com