
올라 프로젝트 리팩토링 하던 중 서버를 실행하니 에러가 발생한다.
빌드하는데 자바 버전이 안맞아서 에러가 발생하는것으로 추측된다.


java -version
터미널에서 명령어로 현재 어떤 버전으로 설정되어 있는지 확인해줬다.
/usr/libexec/java_home -V

-> 자바 버전을 아래 명령어를 이용하여 17버전으로 변경해준다.
export JAVA_HOME=$(/usr/libexec/java_home -v 17)

-> 자바 버전이 잘 변경된것을 확인할 수 있다.
하지만 인텔리제이를 껐다켜면 다시 22버전으로 돌아온다.

-> zsh 쉘을 열어 직접 입력해준다.

-> :wq를 입력해서 밖으로 나온다.
vim ~/.zshrc
export JAVA_HOME=$(/usr/libexec/java_home -v 17)

-> java 버전이 잘 변경되었다.

그럼에도 불구하고 에러가 발생한다.
찾아보니 java17버전에 해당하는 컴파일러를 찾지 못해 발생하는 오류라고 한다.
리팩토링을 하기위해 기존에 작성되어있던 명칭을 바꿨더니 컴파일러에 바뀐 프로젝트가 추가 되어있지 않았다.

settings > Build, Execution, Deployment > Compiler > Java Compiler 탭에서
per-module bytecode version에 현재 프로젝트를 추가해주었다.

또한
File > Project structure 탭에서 SDK와 Language level을 동일하게 17로 설정해주었다.
※ 참고 블로그
[MacOS] Java 버전(JDK version) 변경하는 방법 : https://loosie.tistory.com/454
https://velog.io/@tedxpem/java-warning-source-release-17-requires-target-release-17

-> 일단 동작은 된다.
java: warning: source release 17 requires target release 17
이 에러는 자바 버전과 컴파일러의 버전, SDK와 Language level의 버전이 서로 달라 빌드할때 컴파일러 경로를 연결하지 못하여 발생하는 에러였다.

신난다! 에러 넘어 또 에러! 😀
AWS 클라우드에 가입했던것이 비용 문제로 아이디를 삭제하고 탈퇴했기 때문에 EC2에 대해 문제가 발생한 것 같다.
AWS클라우드에 새로 가입을 해서 해결을 할 것인지.. 아니면 AWS를 걷어내고 다른 클라우드를 도입할것인지 고민해봐야겠다.
다음 클라우드의 장단점을 비교해보면 좋을 것 같다.
1. 아마존 AWS
2. 네이버 클라우드
3. MS Azure
4. Google GCP
5. 카카오 클라우드
6. 가비아 클라우드
7. Oracle 클라우드