반응형
종속성관리를 위한 Gradle 플러그인이 있습니다. 해당 플러그인을 사용하면 버전을 명시하지 않아도 Management에서 관리되고 있는 버전으로 종속성관리를 해줍니다.
Spring Boot starter 버전의 내용은 org.springframework.boot 버전을 따라갑니다
plugins {
id("org.springframework.boot") version "2.6.8"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
...
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-validation")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
DepdencyManagement 내용 확인하기
터미널에 다음과 같이 명령을 입력하면 관리되고 있는 내용들이 출력된다
gradlew dependencyManagement
------------------------------------------------------------
Root project
------------------------------------------------------------
global - Default dependency management for all configurations
antlr:antlr 2.7.7
ch.qos.logback:logback-access 1.2.11
ch.qos.logback:logback-classic 1.2.11
ch.qos.logback:logback-core 1.2.11
com.atomikos:transactions-jdbc 4.0.6
com.atomikos:transactions-jms 4.0.6
com.atomikos:transactions-jta 4.0.6
com.couchbase.client:java-client 3.2.7
com.datastax.oss:java-driver-core 4.13.0
...
DepdencyManagement 사용하기
QueryDSL을 사용할 경우 다음과 같이 사용할 수 있다
dependencies {
...
kapt("com.querydsl:querydsl-apt:${dependencyManagement.importedProperties["querydsl.version"]}:jpa")
}
위의 의존성관리 내용중 ${dependencyManagement.importedProperties["querydsl.version"]} 이라고 표시된 부분은 어쩔수 없이 버전을 중간에 넣어줄수 밖에 없는 상황이다.
물론 다음과 같이 버전을 그냥 명시적으로 넣어도 된다
dependencies {
...
kapt("com.querydsl:querydsl-apt:5.0.0:jpa")
}
위의 dependencyManagement.importedProperties를 출력해보면 위의 입력한것과 같은 5.0.0이 출력된다. 따로 println으로 출력해보면 여러가지 관리되고 있는 버전이 보인다
dependencies {
...
runtimeOnly("com.h2database:h2")
...
kapt("com.querydsl:querydsl-apt:${dependencyManagement.importedProperties["querydsl.version"]}:jpa") //querydsl
dependencyManagement.importedProperties.forEach(::println)
}
spring-integration.version=5.5.12
...
querydsl.version=5.0.0
...
h2.version=1.4.200
위에 보이는 runtimeOnly("com.h2database:h2")의 경우에는 1.4.2 버전으로 설정된다
반응형
'개발 > Kotlin' 카테고리의 다른 글
Kotlin DSL로 Gradle 버전관리하기 (0) | 2022.07.21 |
---|---|
TransactionalEventListener 그리고 EventListener (0) | 2022.07.12 |
QueryDSL 설정 - Kotlin (0) | 2022.06.19 |
Kotlin Basic - 함수와 변수 (0) | 2022.06.18 |
Spring Bean Validation - Test Code (0) | 2022.06.14 |