• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

compileQuerydsl없음

24.01.02 14:36 작성 24.01.02 14:54 수정 조회수 1.48k

1

안녕하세요

현재 프로젝트 세팅부터 막혀서 질문 드립니다.

질문은 크게 3가지입니다.  

 

  1. build 잘됨

  2. Gradle Tasks other compileQuerydsl -> 없음

      ( spring boot3이상으로 되면서 안보이는게 맞나요)?

 

  1. build.gradle

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


group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'


configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}


repositories {
	mavenCentral()
}


dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'


	//test 롬복 사용
	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'


	//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"
}


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


def querydslSrcDir = 'src/main/generated'
clean {
	delete file(querydslSrcDir)
}

tasks.withType(JavaCompile) {
	options.generatedSourceOutputDirectory = file(querydslSrcDir)
}

 

 

스크린샷 2024-01-02 오후 2.34.36.png

 

 

https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit

  1. 위의 docs 설정만 build.gradle에 기입하면 src/main/generated가 생성이 안되는데 이유가 뭔가용??

  2. build폴더 말고, main/generated폴더에 Q파일이 생성되었는데 잘못 생성된건가요.?

     

     

    스크린샷 2024-01-02 오후 2.47.34.png

 스크린샷 2024-01-02 오후 2.49.50.png

 

답변 주시면 감사하겠습니다..

 

추가로,, 현재 build.gradle에

$buildDir은 사용이 안된다고 하네요..!스크린샷 2024-01-02 오후 2.53.08.png

 

답변 3

·

답변을 작성해보세요.

2

신창호님의 프로필

신창호

2024.02.04

제가 해결(?) 해본 방법을 공유해보겠습니다. 이렇게도 해보고, 저렇게도 해보면서 하나하나 해보다 발견된거라 깊게 이해하진 못합니다.
하지만, 다른분들 문제해결에는 도움이 되길 바라며 글을 남깁니다

  1. compileQuerydsl -> 없는 문제
    - 이건 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"plugins에 추가해주어야 Tasks other compileQuerydsl 컴파일에 추가가 됩니다.
    image- 하지만, Tasks other compileQuerydsl 컴파일설정이 되어있지않기에 실행하면 에러가 나기에, 이미 영한님이 올려주신 방법으로 추가해주시면 됩니다!
    image- compileQuerydsl 컴파일 실행하면 아래와 같이 build 폴더 아래에 생성됩니다.
    imageimage

    +++++++++++++추가적인 점++++++++++++++
    사실 build build 컴파일 로 실행시켜도 querydsl을 실행이 되며,
    ```
    sourceSets { main { java { srcDirs = ["$projectDir/src/main/java", "$projectDir/build/generated"] } } }
    ```


    image를 추가해도 build폴더에 생성이 됩니다. 다만, build이기때문에 querydsl외에도 전체가 실행됩니다.image
    image

  2. 3. build폴더 말고, main/generated폴더에 Q파일이 생성되었는데 잘못 생성된건가요.
    - 컴파일 실행할때 , def querydslDir = "$buildDir/generated/querydsl" 의 경로에 영향이 있습니다.
    "$buildDir/generated/querydsl"

    이 경로가 기본적으로 build파일에 생성되게 해주는 것을 보았기때문에,
    임의로 경로를 바꾸면, 다른 폴더에 Q파일이 생성되는 것입니다.

0

cie kalyl님의 프로필

cie kalyl

2024.05.04

First, you need to ensure that Infinite Craft you have set the querydsl.version property correctly. Make sure the currently set version matches the version used in your Gradle script.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.02

안녕하세요, 인프런 AI 인턴입니다.

수강생님의 QueryDSL 설정 관련 질문에 대해 유사한 문제를 겪었던 다른 수강생의 질문과 강사님의 답변이 도움이 될 것 같습니다.

질문자 porkbelly님이 겪고 계신 문제와 비슷한 상황으로, 특히 compileQuerydsl과 관련된 설정 및 문제 해결 방법에 대한 내용이 포함되어 있습니다. 아래의 링크를 통해 해당 답변을 확인하시면 문제 해결에 도움을 받으실 수 있을 것입니다.

추가로, 강사님께서 제공한 링크에서는 다른 수강생의 해결 방법도 제시되어 있으니 참고하시면 좋을 것 같습니다.

도움이 되시길 바랍니다. 감사합니다.