2018년 10월 25일 목요일

[TroubleShooting] intellij가 다음과 같은 에러와 함께 실행이 안 되는 증상 해결; Failed to load JVM DLL

윈도우를 새로 깔고 intelliJ를 잘 사용하다가 어느날 갑자기 아래와 같은 오류메시지와 함께 intelliJ가 켜지지 않습니다.(왜 잘되다가 안 된건지 아직도 의문;)


Error launching IDEA
Failed to load JVM DLL {Path}\server\jvm.dll
If you already have a 32-bit JDK installed, define a JAVA_HOME variable in Computer > System Properties > System Settings > environment Variables.

아니... JAVA_HOME은 원래 설정되었었는데 왜 갑자기 이 ㅈㄹ인걸까...

혹시 이것저것 다른 언어 다른 IDE깔면서 충돌이 난 걸까...

이미 저는 이성이 마비되어, 원인 파악이고 뭐고 그냥 손쉬운 방법을 선택하고 맙니다.

그거슨 바로... 시스템 복원 ㅎㅎㅎ...

어차피 집에서 놀고 있으니 복원시켜놓고 내일 아침에 일어나면 잘 되겠지 했으나...

???????

아니 원래는 잘 되었었자나...

내가 널 이용해서 scala 프로젝트도 import 하고 그랬었자나...ㅠㅠ

그래서 환경변수에 온갖 생쇼를 다해봅니다.

사용자 계정에만 JAVA_HOME을 설정해보기도 하고
시스템 계정에만 JAVA_HOME을 설정해보기도 하고
둘 다 해보고

결론은 헛발질이었습니다 ㅠㅠㅠㅠㅠㅠㅠㅠ

하.........

이성을 찾고 구글링을 해봅니다.

Query : intellij Failed to load JVM

첫 번째 God Stackoverflow 질문과 답
>작성자가 환경변수 Path에 문제의 dll을 넣은 상황(대체 왜...?)
>응 아니야 not working!

두 번째 질문과 답
>오.. 나랑 비슷
>Path의 JAVA_HOME\bin을 맨 첫번째로 위치하게 하면 해결된다라네? 그게 무슨 상관이지?
>응 너도 아니야 not working!

그 외에도 기타 이것저것 해보았지만 모두 not working!

다시 한 번 이성을 가다듬어봅니다.

분명 무언가 설정파일이 있을것이야...

그래서 intelliJ가 깔려 있는 디렉토리로 (C -> Program Files -> jetBrain) 가봅니다.

근데 jre64? Java Runtime Environment 64? 아무리봐도 jre64 이거 좀 수상해...


일단 bin으로 간 후 대체 어디서 저 망할 jvm.dll을 가져오려는걸까 뒤져봅니다.

그래서 찾은 것은 바로 idea.bat 이놈쉐키...

왜때문에 JAVA_HOME가 아닌 IDEA_JDK가 우선순위가 높은거죠? jet대가리 형님들... 아마 불짱한 개발자들이 java 안깔고 intelliJ를 쓸까봐 그런가...

그렇다면 방법은 두 가지
1. 저 스크립트 코드의 순서를 조정한다
2. jre64를 제거하면 IDE켤 때 못 찾아서 JAVA_HOME을 참조하겠지?

스크립트 코드 순서 조정은 혹시 잘못 건드릴 수도 있으므로 Pass

플랜2로 간다. jre64 bye bye

그렇다면 결과는?

잘 됨 ㅇㅇ...

요약.
rm -rf IDEA_HOME(e.g C:\Program Files\jetBrain\idea{version}\jre64

그러나 사실 이건 64bit 컴퓨터에서 intelliJ 32bit로 실행시켰을 가능성이 높다.
jre64를 지우기 전에, 먼저 intelliJ가 깔린 폴더의 bin디렉토리의 idea64.exe를 실행시켜보자. 그래도 안된다면 위처럼 jre64를 지우던가, 아니면 IDEA_JDK라는 환경변수명을 JAVA_HOME과 동일하게 지정하면 정상 동작된다.

댓글 없음:

댓글 쓰기

[TroubleShooting] sbt could not find or load main class file

Have you gotten this error message, when you execute sbt in git bash? Error: Could not find or load main class file Caused by: java.lang....