일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- gradle
- ruby2d
- 개발노트
- C
- ruby
- Java
- JS
- gnuplot
- react
- RaspberryPi
- Spring
- Shell
- rubymine
- boj
- GitHub
- kotlin
- Android
- Baekjoon
- OTLanguage
- Godot
- OAuth
- plugin
- 루비
- maven
- Python
- jetbrains
- error
- IntelliJ
- Vane
- CPP
- Today
- Total
PersesTitan(페르) 기술블로그
[Homebrew] OpenCV 설치시 자바 버전 변경하는 법 (class file has wrong version 63.0, should be 61.0) 본문
[Homebrew] OpenCV 설치시 자바 버전 변경하는 법 (class file has wrong version 63.0, should be 61.0)
PersesTitan(페르) 2022. 12. 10. 20:32혹시 OpenCV말고 다른 파일 설치할때 같은 증상이 생겼다면 한번 시도해보시는 걸 추천해요...
OpenCV를 다운받고 실행하였을때 따로 버전을 설정하지 않으니 brew에서 멋대로 최신 버전의 java로 파일를 만드는 바람에 class file has wrong version 63.0, should be 61.0에러가 발생했습니다. (해당 글 작성 기준으로 jdk19가 가장 높은 버전)
처음에서는 -DOPENCV_JAVA_TARGET_VERSION=<java 버전>을 넣으라고해봤지만 안돼서 삽질을 한참했습니다.
해결 방법
brew info java를 입력하니
설치해본적도 없는 jdk19버전으로 설정되어 있었습니다.
mac칩이 만약 인텔이라면 /usr/local에 m1이라면 /opt/homebrew에 있을 껍니다.
위 경로에 들어가고 /Cellar폴더를 찾게 되면 openjdk라는 폴더에 19.0.1라는 폴더가 있더군요... 요놈으로 다운로드할때 빌드가 되는 거였습니다.
근데 솔직히 이거 경로 바꾸는 것도 모르겠고 버전 다운로드해서 바꾸는 법도 모르겠어서... (다운로드해도 저 위치에 안깔리기도해서...;;)
그냥 저 jdk쓰지도 않는 19.0.1폴더에 libexec/openjdk.jdk/Contents 혹시 jdk를 열어본 사람이라면 많이 본 파일이 눈에 보이게 됩니다.
저는 해당 파일에 걍 원하는 버전의 jdk파일을 그대로 덮어쓴뒤에 다시 설치하니깐 재대로 동작을 하더군요.
비교 사진
/Library/Java/JavaVirtualMachines/jdk-17.0.3.1.jdk
/opt/homebrew/Cellar/openjdk/19.0.1/libexec/openjdk.jdk
동작
드디어 에러 없이 동작을 하는 군요!!
jdk파일을 못찾을때
파일을 못찾으셨다면 그냥 오라클 공식홈페이지에서 원하는 버전 찾으신뒤에 x64 Compressed Archive, Arm 64 Compressed Archive 설치하신 뒤에 압축 풀으시고 폴더 열어보시면 위 파일을 볼수 있을껍니다.
오라클 다운로드 링크
마무리
해당 정보가 아무리 찾아도 잘 안떠서 이 용량 엄청 많은 OpenCV만 최소13번 이상 삭제했다가 재설치를 반복했습니다. ㅠㅠ
원하는 질문을 찾아도 스택오버플로우에 답변이 없다는게 함정...