[Spring Boot] Spring Cloud, Querydsl Gradle 설정 (3.1.x)

AMUD·2023년 10월 28일
1

etc

목록 보기
3/5

🐍 Spring Cloud와 QueryDsl 설정

마이크로 서비스 등록을 위해서 Spring Cloud가 필요하고, 복잡한 쿼리를 위해서 queyrdsl이 필요했다.

그런데 gradle 설정 파일이 토글 마냥 유레카 클라이언트로 등록되면 QModel이 생성이 안되고, QModel이 생성되면 유레카 클라이언트가 등록이 안되었다. 😢

그래서 버전을 잘 조합하여 지금은 잘 개발하고 있는데 혹시 같은 문제를 겪는 사람들을 위해 공유한다.

🐘 build.gradle

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.1.5'
	id 'io.spring.dependency-management' version '1.1.3'
}

group = 'com.codesmith'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

ext {
	set('springCloudVersion', "2022.0.4")
}

dependencies {

	// querydsl
	implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
	annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"

	//netflix eureka
	implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'

	// 이외 설정
	runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

dependencyManagement {
	imports {
		mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
	}
}

tasks.named('test') {
	useJUnitPlatform()
}

def querydslDir = "$buildDir/generated/querydsl"

sourceSets {
	main.java.srcDir querydslDir
}
configurations {
	querydsl.extendsFrom compileClasspath
}
profile
210's Velog :: Ambition Makes Us Diligent

0개의 댓글