개요

gradle multi module project 에서 특정 서브 모듈에 대한 프로젝트를 gradle task 수행 시 못찾는 문제에 대한 기록

 

설명

프로젝트의 구조는 아래와 같았고, 서브모듈로 잡힌 springboot-testcontainer-basis 가 설정이 잘 되지 않았다. gradle 통해서 디펜던시 받으려고 하는데, 자꾸 Task 'wrapper' not found in project  springboot-testcontainer-basis 만 나오니 뭔가 싶다..

wrapper task 가 서브모듈을 못찾는 문제였고, 구글링을 했을 때는 마땅히 좋은 답변은 나오지 않아서 인텔리제이 단에서 서브모듈 설정이랑 gradle 설정 몇 개를 만질 수 밖에 없었다.

 

수행한 내용은 아래와 같다.

 

1. project structure(mac 단축키 : command + ;) 다이얼로그에서 아래와 같이 서브 모듈이 현재 제대로 잡혀 있는지.

 

2. gradle tab 에서 최상위 모듈 하위에 서브모듈이 제대로 잡혀 있는지. 간혹 가다 springboot-kotlin-zerotoall 과 함께 같은 레벨에서 springboot-testcontainer-basis 로 gradle project 가 같이 잡히는 경우가 있다. 그런 경우 하위모듈이 상위로 잡힌 것을 없애주어야 한다.

 

3. preference(mac 단축키 : command + ,) 다이얼로그에서 gradle 메뉴로 들어가서 gradle-wrapper.properties 를 제대로 사용하는지. 하단의 사진을 살피면, Gradle Project 라고 되어있고 거기 프로젝트 명이 나의 경우에는 springboot-testcontainer-basis 로 잡혀있었다. 그러니깐 gradle project 가 하위 모듈로 잡힌 상태에서 Use Gradle from 에 gradle-wrapper 파일을 찾으려니 없어서 에러가 난거겠군 이라는 약간의 짐작이 들었다. (지금은 해결을 했기 때문에 정상적으로 springboot-kotlin-zerotoall 이라고 잡힌 상태 !) 

 

3. 의 경우가 나는 문제였기 때문에 하위 모듈로 잡힌 gradle project 를 없애주어야 했다. (이거 어떻게 없애지.. 생각이 들다가 문득 gradle tab 을 열었다.) 아래의 unlink gradle project 버튼을 누르면, 현재 Gradle project 를 해제하게 되고, 상위 build.gradle.kts 파일 내에서 gradle configuration load 를 클릭하면 정상적으로 디펜던시 설정 및 서브모듈이 불러오는 것으로 해결할 수 있었다.

 

preference 다이얼로그 및 gradle wrapper 에 대한 이야기는 여기랑 같이 참고하면 좋겠다. 나도 다시 봐야지.

Posted by doubler
,