Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

(spring boot) maven mapper 이용한 빌드가 서버에서 제대로 동작하지 않습니다.고수님들 도와주세요ㅠ

309 views
Skip to first unread message

김민식

unread,
May 15, 2021, 12:04:53 PM5/15/21
to Korea Spring User Group Q&A
안녕하세요. 스프링부트로 개인적인 프로젝트를 진행하고 있는 취준생입니다.
다름이 아니라 스프링부트 빌드관련해서 질문을 드리려고 합니다.

먼저 저는 
maven 이 아닌  maven mapper 를 이용하여 spring boot app 을 서버에서 빌드하고 실행하려고 합니다.

문제는 local 에서 해당 리포지토리(설정파일은 gitignore 에 추가했습니다) 다운받고 
첫번째 :  ./mvnw clean package  (빌드)
두번째 :  java -jar -Dspring.config.location=/../../application.properties,/../../application.yml target/app.jar 
(이때 properties 와 yml 에 원격db 정보가 들어있습니다.)

그리고 똑같은 과정(git clone -> ./mvnw clean package -> java -jar .. ) 을 서버에서도(ssh 접속) 진행하였는데, 빌드까지는 잘 되었습니다. 그런데 문제는 java -jar 로 실행했을 때

순환참고 에러가 나오는 데 조금 당황스럽니다. 
org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'brokerMessagingTemplate': Requested bean is currently in creation: Is there an unresolvable circular reference?

순환참조 문제인가? 싶다가도 로컬에서 똑같은 코드로 로컬에서 작동되었다는 것은 내부의 코드는 문제없다는 것이고 순환참조문제는 아닐것이다 라고 결론을 내리고 빌드를 할 때 컴퓨터의 환경적인 요인 때문에 잘못된 것은 아닐까 생각하고 서치하고 있는데, 혹시 고수님들 혹시 이런 경험 있으신가요? 



혹시나 몰라 현재 깃헙 파일구조도 같이 올립니다. 

스크린샷 2021-05-16 오전 1.04.15.png



gildongoreo

unread,
May 15, 2021, 12:15:13 PM5/15/21
to ks...@googlegroups.com


고골링하니 Stackoverflow에도 순환참조로 계속 코드를 고쳐보라는 솔루션으로 나오긴하는데... 로컬에선 문제없으시다고 하니

오류나는 코드 로컬 코드랑 비교해보셨나요? 예를들면 스프링 버전이라던지 코드형상관리라던지..






2021년 5월 16일 (일) 오전 1:04, 김민식 <minsh...@gmail.com>님이 작성:
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/2be1c37c-543b-4221-b614-4806ccfcaa1bn%40googlegroups.com을(를) 방문하세요.

김민식

unread,
May 15, 2021, 12:32:34 PM5/15/21
to Korea Spring User Group Q&A
우선 제가 시도해본건 처음부터 GIT CLONE 부터 해보는 것이였습니다. 이 경우에는 당연히 두 코드가 같을 테닌까요.. ㅠㅠ
즉,
local 에서 git clone 해서 처음부터 시작해서 빌드 -> 실행 (정상작동)
서버에서 git clone 해서 처음부터 시작해서 빌드 -> 실행 ( 순환참조 문제..) 
이런 상황이였습니다. 


스프링버전?이나 코드형상관리? 는 잘 모르겠는데, 혹시 그런 부분도 영향이 있을까요?



2021년 5월 16일 일요일 오전 1시 15분 13초 UTC+9에 cloudsk...@gmail.com님이 작성:

dd.stay.hf

unread,
May 15, 2021, 5:55:52 PM5/15/21
to ks...@googlegroups.com
전체 오류코드를 봐야할것같구요
autowired 를 사용하셨나요?
생성자로 선언하는 코드로 변경해보시길
private final



내 Galaxy에서 보냄


-------- 원본 이메일 --------
발신: 김민식 <minsh...@gmail.com>
날짜: 21/5/16 오전 1:32 (GMT+09:00)
받은 사람: Korea Spring User Group Q&A <ks...@googlegroups.com>
제목: Re: [KSUG] (spring boot) maven mapper 이용한 빌드가 서버에서 제대로 동작하지 않습니다.고수님들 도와주세요ㅠ

김민식

unread,
May 16, 2021, 2:11:17 AM5/16/21
to Korea Spring User Group Q&A
에러 호출스택가운 에러 난 부분에 해당되는 클래스 내부의 autowired 를 전부 private final 로 바꾸고 lombok @RequiredArgsConstructor 어노테이션으로 생성자로 선언하도록 바꿨는 데도
안되어서  @Lazy 까지 적용하니 정상적으로 서버에서도 빌드 -> 실행까지 되었습니다. 

문제는 해결되서 다행이지만, 조금 찝찝하네요.. 왜 같은 코드인데 서버에서는 안되었고, 로컬에서 되었는 지 아직도 의문이긴합니다. 
저는 끝까지 순환참조 문제라고 에러문구가 나오고 있지만 똑같은 코드이고 같은 메이븐매퍼를 이용해서 빌드를 하기때문에 코드를 수정할 생각은 못하고 있었는데
이 문제는 도대체 어떻게 추측할 수 있을까요?...(매이븐메퍼도 환경에 영향을 받나요?.. 그건아닐테구) 


2021년 5월 16일 일요일 오전 6시 55분 52초 UTC+9에 dd.st...@gmail.com님이 작성:

한혜인

unread,
May 16, 2021, 2:34:24 AM5/16/21
to ks...@googlegroups.com
안녕하세요 밖이라 핸드폰으로 답변드립니다.

일단 빈이 등록되는과정이 스프링과 스프링부트가 다릅니다.
스프링은 순서를정해주면 그것을먼저인식하고 순서를 정해주지않으면 알파벳 순으로 인식하고

스프링부트는 워크스페이스 파일명 순으로 인식합니다.
따라서 순환참조가 난다면 빈 인식순서 @order 를 주셔야합니다.



2021년 5월 16일 (일) 오후 3:11, 김민식 <minsh...@gmail.com>님이 작성:
Reply all
Reply to author
Forward
0 new messages