개요

그간 querydsl 은 분명히 import 가 잘 되었는데 불구하고 컴파일시에 gradle 에서 뭐가 꼬여서 위의 구문을 만났다.

(참고로 java1.5 부터 static import 가 가능하다.)

 

설명

삽집을 1시간을 했는데, 해결은 했고 intellij 상에서 수정을 하긴 했다. 근데 급하게 처리하느라 기록을 어영부영하게 기록을 남긴다.

  • annotaion processor configuration 을 건드린다.
  • 불필요하게 생성되어 있는 gradle import 라는 게 있는데 이를 삭제해주었다.

+) annotation processor 

  • 인텔리제이를 이용하면 컴파일시간에 애노테이션을 설정할 있다.
  • annotation processor 를 이용하여, 주석기반으로 코드를 검증, 생성, 수정을 할 수 있다. 따라서 롬복 같은 라이브러리를 이용하였을 때, 코드의 양을 상당 수 줄이는 게 가능하다.
  • annotation processor 가 외부에 저장되어 있는 경우, 해당 jar 파일을 path 에 추가해주어야 한다.
  • 만약 build tool (maven or gradle) 을 통해서, annotation processor 를 추가하는 intellij 가 자동으로 활성화시키고 configuration 에 적절한 경로를 추가한다.

 

+) 수정 : 2020-12-16

위의 문제에 대해서 다시한번 겪게 되었는데 그 당시에는 import 된 gradle module 을 삭제해주기만 하였다. 그러나 삭제가 아닌 storage generated sources 의 상대 위치를 변경해주는 것으로 해결되었다.

generated sources 가 있는 모듈의 내용을 살폈을 때, 최초에는 2번 module content root 로 설정되어 있었다. 해당 값을 1번, module output directory 로 변경해주었더니 이상없이 잘 동작하였다. annotation processor 에 의해서 generated sources 가 어디에 위치할 것인지 설정이 이 오류에 대한 해결책이다.

 

참고자료

 

Posted by doubler
,