egov framework4.2대상으로 작성합니다.
먼저 boot(spring boot)프로젝트를 생성합니다.

타켓런타임은 tomcat v9시리즈중에서 충돌이슈가 적은 끝자리 93으로 합니다.

spring boot구조가 생겼습니다.
src/main/resources아래
static이 생긴점이 특이 하지요? 눈여겨 봐둡니다.
맨아래 pom.xml

boot 실행은 boot java 실행도 가능하고, 아래처럼 boot application실행을 하셔도 되고 취향대로 실행합니다.

실행후 로그가 너무 많아 분석이 힘들군요. 로그부터 조정하고 진행해야 할것 같습니다.
resources/application.properties를 열어 DEBUG로그를 INFO로 올리겠습니다.

로그가 1만라인에서 100라인 아래로 줄어서 이제 로그가 눈에 들어오는군요

아래 눈에 거슬리는 warn이 하나 보이는군요. 에러는 아니지만 깔끔하게 해결해 보는것도 좋겠습니다.
,m2 모듈관련된거군요
rhino 모듈에 의존하는 모듈이 있나보네요.
이클립스 pom파일뷰어에서의 dependency hierarchy는 깊은곳의 전이적 의존성까지는 볼수 없기때문에
가장확실한 방법으로 cmd에서 직접maven명령어를 사용하여 의존성tree log를 출력하겠습니다.

의존성 로그출력을 위해
프로젝트 root경로를 복사하여 cmd console에서 mvn명령을 직접사용하도록 하겠습니다.

프로젝트 root로 가서 메이븐 의존성트리로그를 출력합니다.

당연한 얘기지만 참고로
mvn명령어를 사용하기위해서는
java에서 java_home잡고 , path잡듯이
윈도우 시스템고급설정에서
1. maven설치
2. maven_home과 path에 maven_home/bin 까지 설정되어있어야합니다.
일관성있게 이클립스에서도 내장 maven를 사용하지마시고 , 설치한 maven을 지정합니다.

이제 mvn dependency:tree -Dverbose를 실행하여
output.txt파일로 출력하겠습니다.

출력된 파일 output.txt에서
로그에서 문제가 된 'rhino' 를 키워드로 찾아서 그 종속성을 가지는 모듈을 확인합니다.

해당모듈이 충돌이 있는지 확인을 해보아야하는데 가나다순의 sort가 되어있어야 확인할수있으므로
'java package perspective'에서 maven library를 확인합님다.

버전이 다른 두개의 같은 모듈을 발견하였습니다.
0.8에서 rhino를 찾고있으므로 0.8를 제거해도 될거 같습니다.
혹은 0.8을 그대로 두고 exclude>rhino처리로 할수도 있겠구요

조치해보겠습니다.

이렇게(exclusion사용)도 가능하지만
이 경우는 아예 0.8 dependency자체를 날려버리는것이 좋다고 생각됩니다.
조치후 실행하면 깔끔하게 성공하는 로그를 확인할 수 있습니다.

'IT개발' 카테고리의 다른 글
[google drive] 웹 파일업로드시 파일을 구글드라이버로 올리기 (0) | 2025.02.05 |
---|---|
[mybatis] 응답데이터를 대문자로 강제하기(ObjectWrapperFactory) (0) | 2025.02.03 |
[WebSquare] 다국어처리 - 서버처리방식 (0) | 2025.01.22 |
[WebSquare] 다국어처리 - 클라이언트처리방식 (0) | 2025.01.20 |
google playConsole 서비스계정 key 교체방법 (0) | 2024.12.10 |