티스토리 뷰
반응형
서론
자바는 되는데.....! 코틀린에서만 QueryDsl 추가가 안된다 ㅠ ㅠ 구글링해서 찾은 블로그 자료들을 다 따라해봐도 Q클래스가 생성이 안된다.. 결국 깃헙을 뒤지면서 어떻게 해결했는지 그 과정에 대해 간단히 적어보겠다.
(2022/04/15, Spring 2.6.6, QueryDsl 5.0.0 기준)
본론
- build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.6.6"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.6.10"
kotlin("plugin.spring") version "1.6.10"
kotlin("plugin.jpa") version "1.6.10"
kotlin("kapt") version "1.6.10"
}
group = "gdscsookmyung"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8
sourceSets["main"].withConvention(org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet::class) {
kotlin.srcDir("$buildDir/generated/source/kapt/main")
}
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("com.querydsl:querydsl-jpa:5.0.0")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
kapt("com.querydsl:querydsl-apt:5.0.0:jpa")
compileOnly("org.projectlombok:lombok")
runtimeOnly("mysql:mysql-connector-java")
annotationProcessor("org.projectlombok:lombok")
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
위에서 내가 추가한 코드는 총 5줄이다.
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
..
kotlin("kapt") version "1.6.10"
}
..
sourceSets["main"].withConvention(org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet::class) {
kotlin.srcDir("$buildDir/generated/source/kapt/main")
}
..
dependencies {
implementation("com.querydsl:querydsl-jpa:5.0.0")
kapt("com.querydsl:querydsl-apt:5.0.0:jpa")
}
..
kapt 플러그인으로 querydsl을 다운로드받고, build/generated/source/kapt/main 패키지에 Q클래스를 저장하도록 설정했다. gradle sync > build clean > build 순으로 실행하면 아래 위치에 Q 클래스가 생성되는 것을 확인할 수 있다.
반응형
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 컨테이너와 스프링 빈 (0) | 2022.07.15 |
---|---|
객체 지향 프로그래밍과 객체 지향 설계 5원칙(SOLID 원칙) (0) | 2022.07.04 |
[SPRING] 스프링 vs 스프링 부트 (0) | 2022.07.04 |
[SPRING] 설정값 분리하기, property 값 주입하기 (@Value, application.properties, @PropertySource) (0) | 2022.02.28 |
[SPRING] GitHub API for Java로 전체 커밋 기록 불러오기 (4) | 2022.02.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 리눅스
- E_FAIL
- OnActivityForResult
- Linux
- atq
- 버추억박스에러
- 코테
- Baekjoon27211
- GithubAPI
- Baekjoon27219
- cron시스템
- baekjoon
- 쇼미더코드
- 백준27211
- 버추억박스오류
- SELECT #SELECTFROM #WHERE #ORDERBY #GROUPBY #HAVING #EXISTS #NOTEXISTS #UNION #MINUS #INTERSECTION #SQL #SQLPLUS
- 사용자ID
- cat
- linuxtouch
- 백준27219
- linuxawk
- linux파일
- 리눅스cron
- GitHubAPIforJava
- virtualbox
- awk프로그램
- api문서
- linuxgedit
- whatis
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함