슬기로운 백수생활

슬백 68일차

CharlieCBPark 2023. 11. 7. 22:35

아침엔 하체운동

어제 스프링 샘플코드 오류때문에 늦게 자서 아침에 늦게 일어났다. 일어나서 헬스장에 가서 1시간정도 하체운동 했다.

 

스프링 개발환경 성장통

어제 해결되었다고 생각했던것이 실제론 아니었다. 오늘은 xml로 객체주입할때 에러가 발생한다. 일단 윈도우 노트북에서 하니까 잘 된다. 이렇다면 물어볼수도 없다. 윈도우기반으로 강의하고 실습하는데 난 우분투라서 질문못한다. 그래도 우분투 개발환경을 포기할수는 없어서.. 이때부터 고난의 행군이 시작되었다.

 

전자정부프레임워크는 자바버전이 OS별로 다르다.

오늘 처음 알았다. 전자정부프레임워크4버전이 윈도우에서는 자바11이지만 우분투에서는 자바17이 필수자바버전이다. 헐.. 차이가 너무 큰데..

 

일단 윈도우 전자정부프레임워크 업데이트

우분투에서는 뭔 짓을 해도 안되는데 윈도우에서는 자바1.8버전에서도 잘 된다. 이번기회에 윈도우의 자바버전을 11로 올리고 전자정부프레임워크도 4버전으로 설치했다. 이렇게 하니 오류없이 잘 되고 다크테마도 잘 적용되어서 어느정도 개발 가능하다. 일단 최후의 보루는 마련해두었으니까.. 리눅스 조지러 가자

 

다양한 조합

윈도우 VS 리눅스,전자정부3 VS 전자정부4,자바버전 1.8 VS 11 VS 17,오라클JDK VS 오픈JDK 이렇게 조건을 조합해가면서 원인을 찾기 시작했다. 이바람에 하루종일 윈도우,리눅스 왔다갔다하며 샘플코드 돌려보고 결과를 확인했다. 잘 되는 윈도우 있는데 이게 지금 뭔짓이고..? 하는 현타도 몇번 왔지만.. 그래도 했다.

 

윈도우 개발환경

윈도우+오라클JDK11+전자정부4 조합이면 아주 잘 된다. 강의하며 코딩하는 환경도 윈도우+오라클JDK11+이클립스니까 거의 같다고 봐야지. 이번기회에 기존 JDK1.8+전자정부3 조합을 버려서 속이 시원하다. 예전부터 너무 낮은 버전이라 신경은 계속 쓰이기는 했다. 우분투에서는 오라클JDK,오픈JDK 어떤것을 써도 에러가 발생한다. 그래서 깨끗하게 포기해도 우회는 없을듯하다.

 

우분투 개발환경

우분투에 자바버전을 여러개 해봐야 소용없다. 깔끔하게 우분투+오라클JDK17+전자정부4 조합으로 했다. 오라클JDK라서 이제는 더 이상 JDK를 의심하지 않아도 된다. 물론 샘플코드는 여전히 오류가 발생한다.그래도 기존에 버전 이것저것 섞여있던것을 이번에 한가지로 정리했다.

 

최종결론

지금 샘플코드는 스프링JAR를 LIB폴더에 넣고 코딩하는데 실무에서는 이렇게 하지 않는다. 이것은 지금 입문자 학습을 위한 것인데 내가 굳이 이럴필요가 있나? 그냥 전자정부 빈 프로젝트 하나 생성하면 그 안에는 스프링 환경 다 포함되어 있으니까 그냥 그것 이용하면 되지않나? 어 될것 같은데..

 

그래서 해결

우분투 전자정부4에서 빈 프로젝트 하나 만들고 그곳에 샘플코드를 작성해서 돌렸더니.. 잘 된다. 아.. 해결했다... 영구해결.. 하룻동안 정말 고생많았다. 원인은 LIB폴더에 복사하는 스프링JAR의 버전이 자바나 우분투와 맞지 않았던것 같다. 굳이 학습을 위해서 JAR복사하는것은 지금 배우는 과정이라도 나는 굳이 할 필요 없다,

 

고생했지만 보람있다.

지금 힘들지만 버전문제 확실히 정리하지 않으면 나중에 소스복잡해졌을때 에러나면 이것이 버전문제인지 코드오류인지부터 확인하기가 힘들어진다. 이틀간 힘들었지만 더 이상 자바버전을 의심하지는 않아도 될것 같다. 내일부턴 진도 쭉쭉 나가자. 좀 뻘짓했지만 할수 없다. 주변에 나 같은 개발환경으로 사용하는 사람이 없으니까.. 이건 온전히 내가 짊어져야 할 짐이지..  오늘 밤 푹 자고 내일 아침 기분좋게 수영하러 가자. 끝.