오류명 : No message available
오류원인 : 
1. Lombok Requires Annotation Processing 오류
2. MainApplication이랑 다른 패키지에 있을 경우
오류해결 : 
1. Lombok Requires Annotation Processing 문제 해결
2. MainApplication이랑 같은 패키지에 넣어 놓아서 해결

1. Lombok Requires Annotation Processing 오류

인텔리제이로 프로젝트 실행시 아래 오류와 함께 프로젝트 실행이 안되었다.

 

확인해보니 Lombok Requires Annotation Processing 오류로 확인되었다.

다음과 같이 Enable 버튼을 클릭하여 해결하거나 아래와 같이 설정하여 해결하도록하자.

1-1. Settings > Build, Execution, Deployment > Compiler > Annotation Processings 
1-2. Enable annotation processing 체크 > OK

2. Application 수행시 컴파일되도록 설정
2-1. Find Action > Registry 입력
2-2. Registry... > compiler.automake.allow.when.app.running 체크

잘 되는 것을 확인할 수 있다.

2. MainApplication이랑 다른 패키지에 있을 경우

스프링으로 하다가 부트로 하면서 발생한 실수 중에 하나가 다른 패키지에 따로 넣어놔서(아래와 같은 구조) 해당 오류가 발생했었다.

 

얼핏 봐서는 이상이 없는 것 같은데?...

얼핏 봐서는 이상이 없는 것으로 생각했었다.

스프링에서 했을때는 servlet-context에서 component-scan으로 com.boot 패키지 아래는 모두 스캔하도록 했었던 것 같다.

 

그런데, 스프링 부트에서는 servlet-context가 없다보니 그렇게 스캔이 불가능했다.(방법이 있는데, 모르는 거일 수도..)

아무튼 그래서 그렇게 해메다가 원인을 찾아내었다.

 

일단 위와 같인 프로젝트를 진행할 경우 어떤 문제가 발생하는지 확인해보도록하자.

다음과 같이 No message available와 함께 오류를 찾을 수 없는 것으로 확인된다.

한 패키지에 넣어놔야돼!

앞서 필자가 말한 문제가 여기서 발생한다.

해당 문제는 한 패키지에 넣어놔서 해결할 수 있다.

다음과 같이 프로젝트 디렉토리 구조를 변경해보도록하자.

 

정상적으로 Controlling되는 것을 확인할 수 있다.

+ Recent posts