Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- spring
- Kotlin in action 3장
- Kotlin
- 20055 컨베이어 벨트 위의 로봇
- 13460 구슬탈출 2
- 스프링 핵심 원리
- 스프링 핵심 원리 이해
- Kotlin In Action
- 백준
- Kotlin in action 6장
- Kotlin in action 10장
- kotlin in action 정리
- 백준 13460 Python
- 코틀린
- 스프링 컨테이너와 스프링 빈
- 20055
- 객체 지향 설계와 스프링
- 스프링 핵심 원리 - 기본편
- 자바 ORM 표준 JPA 프로그래밍 7장
- 고급매핑
- 기능개발 python
- KotlinInAction
- 코틸린인액션
- Kotlin in action 5장
- Python
- 컨베이어 벨트 위의 로봇 Python
- 7장 고급매핑
- 백준 20055 컨베이어 벨트 위의 로봇
- 싱글톤 컨테이너
- 코틀린인액션
Archives
- Today
- Total
기록하는 습관
[Spring] Gradle (5) - 의존성 본문
- classpath: 클래스나 jar 파일이 존재하는 위치
- compile-time classpath: 에러 없이 컴파일을 하기 위해 필요한 클래스와 jar들의 위치를 나타낸다.
- run-time classpath: 애플리케이션이 정상적으로 실행하기 위해 필요한 클래스들과 jar들의 경로이다.
api vs implementation
- api: 의존 라이브러리 수정시 본 모듈을 의존하고 있는 모듈들 또한 재빌드
- A(api) ← B ← C 의 경우 C 에서 A 를 접근할 수 있음
- A 수정시 B 와 C 모두 재빌드
- implementaion: 의존 라이브러리 수정시 본 모듈까지만 재빌드
의존성 옵션들
- implementation: 의존 라이브러리 수정시 본 모듈까지만 재빌드
- 본 모듈을 의존하는 모듈은 해당 라이브러리의 api를 사용할 수 없음
- api: 의존 라이브러리 수정시 본 모듈을 의존하는 모듈들도 재빌드
- 본 모듈을 의존하는 모듈은 해당 라이브러리의 api를 사용할 수 있음
- compileOnly: compileClassPath에만 추가하겠다는 뜻
- 컴파일시에만 빌드하고 빌드 결과물에는 포함시키지 않음. runtime 시 필요없는 라이브러리인 경우 (runtime 환경에 이미 라이브러리가 제공되고 있는가 하는 등의 경우)
- 예: lombok → compile 시에 getter, setter 등 필요한 것 생성시키고, runtime 시에 사용하지 않음.
- 참고: https://blog.gradle.org/introducing-compile-only-dependencies
- runtimeOnly: runtimeClassPath에만 추가하겠다는 뜻
- 예: DB관련 / 로그관련 dependency
- compile 시에는 필요 없는데 runtime에서 의존하는 것들을 runtimeOnly로 설정.
- annotationProcessor: annotation processor 명시 (gradle 4.6)
- 참고:
- Annotation processing 이 필요없다고 예측되는 경우 빌드 제외
읽어보면 좋을 자료: https://kwonnam.pe.kr/wiki/gradle/java
'개발 > Spring' 카테고리의 다른 글
[Spring] Migration (2) 1.5.4.RELEASE -> 2.1.6.RELEASE (0) | 2022.07.12 |
---|---|
[Spring] Migration (1) - java, springboot 버전 업그레이드 (0) | 2022.07.12 |
[Spring] Gradle (4) - jar vs. war (0) | 2022.07.12 |
[Spring] Gradle (3) - build란? (0) | 2022.07.12 |
[Spring] Gradle (2) - ant, maven, gradle (0) | 2022.07.12 |
Comments