일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 요리
- javascript
- java
- jsp
- Spring Batch
- Design Patterns
- php
- Spring Boot
- linux
- ReactJS
- elasticsearch
- IntelliJ
- AWS
- Spring
- tool
- springboot
- Git
- ubuntu
- MySQL
- Web Server
- JVM
- devops
- db
- laravel
- Oracle
- 맛집
- it
- jenkins
- Gradle
- redis
Archives
- Today
- Total
아무거나
[Gradle] Gradle Multi Project (Gradle 7.1.1 기준 대응) 본문
Java & Kotlin/Gradle & Maven
[Gradle] Gradle Multi Project (Gradle 7.1.1 기준 대응)
전봉근 2022. 7. 5. 02:24반응형
Gradle Multi Project (Gradle 7.1.1 기준 대응)
필수참고
- https://bkjeon1614.tistory.com/38 포스팅을 먼저 참고하고오자. 해당 포스팅은 Gradle 업그레이드로 인한 Deprecate 대응이므로 일부 코드수정만 확인할 수 있다. (참고 Github Repo)
시작하기전에
- 이전 포스팅에서 작성했던 Gradle 기능중 일부 삭제된 부분이 존재한다. 삭제된 내용은 하기 내용을 참고하자.
- Could not find method compile() for arguments 오류해결
compile
,runtime
,testCompile
,testRuntime
은 Gradle 4.10 (2018. 8. 27) 이래로 Deprecate 되었으며 Gradle 7.0 (2021. 4. 9) 부터 삭제되었다. 그러므로 해당 명령수정이 필요하다.compile -> implementation runtime -> runtimeOnly testCompile -> testImplementation testRuntime -> testRuntimeOnly
위의 내용을 기반으로 코드를 수정해보자.
시작하기
- gradle (4.10.3 -> 7.1.1), java (8 -> 11), springboot (2.0.6-RELEASE -> 2.6.7) 버전 업그레이드
[build.gradle]... buildscript { ext { // spring boot version 변경 springBootVersion = '2.6.7' } ... // java version 변경 sourceCompatibility = 11 }
- 생성자 인젝션으로 변경
[TestController.java]
[ApiSampleService.java]// @Autowired 제거 (필드 인젝션 제거) @RestController @RequestMapping("test") @RequiredArgsConstructor public class TestController { private final ApiSampleService apiSampleService; ... }
// @Autowired 제거 (필드 인젝션 제거) @Service @RequiredArgsConstructor public class ApiSampleService { private final SampleService sampleService; ... }
- 일부 오작동 코드들 수정
- gradle 버전 업그레이드 대응 (Deprecate 대응)
[build.gradle]
[admin-api/build.gradle]// 기존 지정해놓은 프로젝트 의존성 세팅값 제거 (해당 코드 모두 제거 -> :admin-api, :admin-web) project(':admin-api') { dependencies { compile project(':admin-common') } } project(':admin-web') { dependencies { compile project(':admin-common') } }
[admin-web/build.gradle]... // compile -> implementation 로 변경 (compile project(':admin-common') 제거) dependencies { implementation project(':admin-common') // implementation 로 변경 ...
... // compile -> implementation 로 변경 (compile project(':admin-common') 제거) dependencies { implementation project(':admin-common') // implementation 로 변경 ...
이렇게 되면 멀티모듈 적용이 완료된다.
반응형
'Java & Kotlin > Gradle & Maven' 카테고리의 다른 글
[Gradle] Gradle 다중 dependsOn 선언시 예측할 수 없는 종속성 순서에 대한 문제 발생 (0) | 2022.05.26 |
---|---|
[Maven] Blocked mirror for repositories .. 에러가 표시되며 다운로드가 안되는경우 (1) | 2022.04.08 |
[Gradle] Node Gradle Plugin Not Found 이슈 해결 (0) | 2021.06.23 |
[maven] Centos Maven 설치 (0) | 2020.12.27 |
Build 할 때 java.lang.NoClassDefFoundError: org/gradle/wrapper/GradleWrapperMain 에러 해결 (1) | 2020.11.05 |
Comments