Gradle build.gradle 의 dependencies

황제낙엽 2023.12.29 02:06 조회 수 : 0

build.gradle에 dependencies에 의존하고 있는 라이브러리들이 명시되어 있다.

 

Dependency Configuration 종류 및 기능

 

complieOnly

컴파일할 때만 사용

compileOnly로 의존성을 추가하면 jar에 포함되지 않아 가벼워진다.

 

runtimeOnly

런타임에만 사용 (ex. db-connector, mysql, h2)

컴파일할 때는 필요없는 라이브러리 의존성 추가할 때 사용한다.

 

annotationProcessor

어노테이션 프로세서 사용하는 라이브러리인 경우 사용, 컴파일에만 적용 (ex. lombok)

옛날 버전에서는 compileOnly를 썼었는데 최신 버전에서는 사용이 불가능하다.

 

implementation

컴파일 + 런타임

컴파일에도 필요하고 런타임에도 필요할 때 사용

 

api

api로 추가한 라이브러리에서 의존하고 있는 라이브러리에 의존하고자 할 때 사용 (컴파일 + 런타임)

a가 b 라이브러리를 api로 추가하면 a는 b에서 사용 중인 라이브러리 c를 사용할 수 있다.

이 방법은 조심해야 하는데 b에서 사용하고 있는 라이브러리 c를 d로 바꾼다면? a가 사용하는 c가 사라졌기 때문에 문제가 발생할 수도 있다.

 

testCompileOnly

테스트 코드 컴파일할 때만 사용

 

testRuntimeOnly

테스트 런타임에 사용

 

testImplementation

테스트 컴파일 + 런타임에 사용

번호 제목 글쓴이 날짜 조회 수
39 Ant 로 Java Application 실행시 Target 에 파라미터를 입력하여 Arguments 로 전달하여 실행시키기 file 황제낙엽 2012.06.05 2020
38 Jenkins Rest API 사용기 file 황제낙엽 2020.03.26 859
37 1900개가 넘는 java컴파일시 Ant의 설정 황제낙엽 2007.02.28 678
36 ANT에서 Classpath 설정시 순서 주의 황제낙엽 2010.07.10 364
35 Eclipse 의 auto compile 과 ANT의 compile 황제낙엽 2007.02.28 279
34 [Maven] 로컬 레파지터리에 사용자 jar 추가하기 file 황제낙엽 2010.04.20 217
33 Maven 툴을 이용한 효율적인 프로젝트 관리 방안 황제낙엽 2007.01.30 148
32 Eclipse에서 Ant+xdoclet 를 이용한 web.xml, struts-config.xml 자동생성 황제낙엽 2007.03.03 125
31 Ant로 UTF-8 엔코딩하기 (프로젝트 변환) 황제낙엽 2007.07.03 73
30 Ant에서 "${java.class.path}"이 의미하는바 황제낙엽 2010.07.10 56
29 Jenkins의 Restful API file 황제낙엽 2020.08.11 50
28 jenkins에서 tfs에 접속하여 브랜치와 변경집합으로 소스를 다운로드하는 예제 황제낙엽 2020.08.11 44
27 Jenkins Restful API로 Job 과 Build 정보 조회 황제낙엽 2020.09.02 43
26 ANT 를 이용한 RMI 컴파일 ( rmic 로 stub 생성하기 ) 황제낙엽 2010.05.26 43
25 Ant 의 사용 용례와 사용법 file 황제낙엽 2007.07.16 39
24 [Jenkins] Java Sample with Jenkins Restful API 황제낙엽 2020.08.12 38
23 ANT 작성예제 (build.xml , build.properties) file 황제낙엽 2007.05.16 36
22 Jenkins 백업 (Thinbackup) file 황제낙엽 2021.07.22 28
21 Jenkins+TFS 연동 예제 황제낙엽 2020.09.01 28
20 Nexus Repository 황제낙엽 2020.05.20 28