250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- SpringBoot
- error
- IntelliJ
- JDBC
- Exception
- Core Java
- 문서
- jpa
- git
- PostgreSQL
- MSSQL
- STS
- Eclipse
- 설정
- maven
- spring
- Open Source
- AJAX
- Tomcat
- Thymeleaf
- MySQL
- myBatis
- 오픈소스
- ubuntu
- Source
- Docker
- Spring Boot
- Python
- oracle
- JavaScript
Archives
- Today
- Total
헤르메스 LIFE
[QueryDSL] STS에서 Gradle 사용 시 QueryDSL QClass 생성 설정 본문
728x90
1. build.gradle
/* Eclipse 설정 시작 ----------------------------*/
def querydslDir = "src/main/generated"
querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslDefault = true
querydslSourcesDir = querydslDir
}
//에디터 설정
sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslDir]
}
}
}
//컴파일 클래스 패스에 넣음.
configurations {
querydsl.extendsFrom compileClasspath
}
//어노테이션 프로세서와 맞물려서 빌드시 생성
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
/* Eclipse 설정 종료 ----------------------------*/
2. [프로젝트] > [Properties] > [Java Build Path] > Source 탭
Add Folder > Create New Folder
3. Gradle Tasks > build > Run Gradle Tasks
4. build.gradle 전체 소스
plugins {
id 'org.springframework.boot' version '2.5.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
//querydsl 추가
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id 'java'
}
group = 'com.mile'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
def querydslVersion = '4.4.0'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
//querydsl.extendsFrom compileClasspath
}
repositories {
mavenLocal() // 로컬 저장소 사용
mavenCentral() // 원격 저장소 사용
jcenter()
google()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.0'
implementation 'io.jsonwebtoken:jjwt-api:0.11.2'
implementation 'io.jsonwebtoken:jjwt-impl:0.11.2'
implementation 'io.jsonwebtoken:jjwt-jackson:0.11.2'
// Querydsl
implementation group: 'com.querydsl', name: 'querydsl-jpa', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-core', version: querydslVersion
// thymeleaf
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
runtimeOnly 'com.h2database:h2'
annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion, classifier: 'jpa'
annotationProcessor("jakarta.persistence:jakarta.persistence-api")
annotationProcessor("jakarta.annotation:jakarta.annotation-api")
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
test {
useJUnitPlatform()
}
/* Eclipse 설정 시작 ----------------------------*/
def querydslDir = "src/main/generated"
querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslDefault = true
querydslSourcesDir = querydslDir
}
//에디터 설정
sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslDir]
}
}
}
//컴파일 클래스 패스에 넣음.
configurations {
querydsl.extendsFrom compileClasspath
}
//어노테이션 프로세서와 맞물려서 빌드시 생성
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
/* Eclipse 설정 종료 ----------------------------*/
/* IntelliJ 설정
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
clean {
delete file(querydslDir) // 인텔리제이 Annotation processor 생성물 생성위치
}
task cleanGeneatedDir(type: Delete) { // 인텔리제이 annotation processor 가 생성한 Q클래스가 clean 태스크로 삭제되는 게 불편하다면 둘 중에 하나를 선택
delete file(querydslDir)
}
*/
/* IntelliJ 설정
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
clean {
delete file(querydslDir) // 인텔리제이 Annotation processor 생성물 생성위치
}
task cleanGeneatedDir(type: Delete) { // 인텔리제이 annotation processor 가 생성한 Q클래스가 clean 태스크로 삭제되는 게 불편하다면 둘 중에 하나를 선택
delete file(querydslDir)
}
*/
728x90
'Spring Framework' 카테고리의 다른 글
[개발환경] Spring + Maven + MyBatis + HSQL Simple Web Sample (0) | 2022.08.17 |
---|---|
Spring Boot 설정파일 암호화 (0) | 2022.05.29 |
[Hadoop] VirtualBox 에 HDP Sandbox 환경 구축 (0) | 2021.12.02 |
[Spring Boot] HikariCP를 이용한 Multi Database Connection 샘플 (0) | 2021.07.19 |
[SpringBoot] H2 Database 연결하기 (0) | 2021.07.17 |