티스토리 뷰
728x90
상황
Gradle로 멀티모듈 프로젝트를 구성하려고 할 때 하위 프로젝트 (e.g. batch, api server)에서 상위 프로젝트 (e.g. core)의 dependency(e.g. lombok, jpa)를 보지 못 하고 컴파일이 되지 않는 문제가 발생함.
기존 코드
project(':batch-server') {
bootJar.enabled = true
jar.enabled = false
dependencies {
compile project(':core')
}
}
compile은 Gradle 7부터 완전히 제거되었으므로 compileOnly, api 등과 같은 다른 키워드로 바꿔서 해봐도 컴파일이 되지 않음.
해결한 코드
//Before
compile project(:'core')
//or
compileOnly project(:'core')
//or
api project(:'core')
//After
implementation project(path: ':core', configuration: 'default')
혹시 위의 코드로도 해결이 되지 않는 경우에는 아래의 코드를 추가해보는 방법도 추천한다.
subprojects {
apply plugin: 'java-library'
...
}
레퍼런스
'트러블슈팅' 카테고리의 다른 글
스프링부트에서 @Value는 @RequiredArgsConstructor에 의해 주입받지 못 한다. (0) | 2022.12.15 |
---|---|
Swagger2 문서화시 tags의 description deprecated 대체재 (3) | 2022.07.28 |
스프링부트와 프로메테우스 연동시 "INVALID" is not a valid start token가 발생할 경우 해결 방법 (0) | 2022.07.25 |
Spring actuator 의존성 추가만으로 nullpointerexception가 발생할때 해결방법 (2) | 2022.07.25 |
@AllArgsConstructor는 @Value와 같이 동작하지 않는다. (0) | 2022.07.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- lunarvim
- RequestBody
- 아키텍처
- JavaScript
- 루나빔
- neovim
- RequestPart
- 도커
- 배포
- RequestParam
- vim
- 레디스
- IDE
- ModelAttribute
- Dap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함