강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của cwj1888
cwj1888

câu hỏi đã được viết

Trong thực tế! Spring Boot và JPA Usage 2 - Phát triển API và tối ưu hóa hiệu suất

querydsl 설정관련 질문드립니다.

Viết

·

15K

1

현재 build.gradle에서  querydsl 환경설정을 하고 있는데 에러가 있어서 질문드립니다.

아래와 같이 build.gradle 작성했고 reimport 후 compileQuerydsl로 Q클래스들을 생성하였습니다. 하지만 빌드시 에러가 발생하는데 관련 자료를 찾는데 어려움이 있습니다..ㅜ (err msg 아래 첨부하였습니다.)

어떻게 해야할까요..?

개발환경>

spring boot 2.3

gradle 6.0.1

build.gradle===================================================================

/*
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10"
}
}
*/


plugins {
id 'org.springframework.boot' version '2.2.3.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
id 'java'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id 'idea'
}

//apply plugin: "com.ewerk.gradle.plugins.querydsl"


group = 'com.gabia.project'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}


dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'mysql:mysql-connector-java'
testRuntimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.7'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
compile("com.querydsl:querydsl-jpa") // querydsl
compile("com.querydsl:querydsl-apt") // querydsl

}

test {
useJUnitPlatform()
}


def querydslSrcDir = 'src/main/generated'

querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslSrcDir
}

compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}

configurations {
querydsl.extendsFrom compileClasspath
}

sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslSrcDir]
}
}
}

/*

//querydsl 추가
def querydslDir = 'src/main/generated'
querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslDir]
}
}
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
configurations {
querydsl.extendsFrom compileClasspath
}*/


==================================================================

err msg>>>
> Task :compileQuerydslJava FAILED C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:3: error: package com.querydsl.core.types does not exist import static com.querydsl.core.types.PathMetadataFactory.*; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:7: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.PathMetadata; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:8: error: package javax.annotation does not exist import javax.annotation.Generated; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:9: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.Path; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:10: error: package com.querydsl.core.types.dsl does not exist import com.querydsl.core.types.dsl.PathInits; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:17: error: cannot find symbol public class QMember extends EntityPathBase<Member> { ^ symbol: class EntityPathBase C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:16: error: cannot find symbol @Generated("com.querydsl.codegen.EntitySerializer") ^ symbol: class Generated C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:17: error: cannot find symbol public class QMember extends EntityPathBase<Member> { ^ symbol: class Member C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:23: error: cannot find symbol public final StringPath department = createString("department"); ^ symbol: class StringPath location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:25: error: cannot find symbol public final StringPath id = createString("id"); ^ symbol: class StringPath location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:27: error: cannot find symbol public final StringPath name = createString("name"); ^ symbol: class StringPath location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:29: error: cannot find symbol public final ListPath<RecruitMember, QRecruitMember> recruitMembers = this.<RecruitMember, QRecruitMember>createList("recruitMembers", RecruitMember.class, QRecruitMember.class, PathInits.DIRECT2); ^ symbol: class ListPath location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:29: error: cannot find symbol public final ListPath<RecruitMember, QRecruitMember> recruitMembers = this.<RecruitMember, QRecruitMember>createList("recruitMembers", RecruitMember.class, QRecruitMember.class, PathInits.DIRECT2); ^ symbol: class RecruitMember location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:3: error: package com.querydsl.core.types does not exist import static com.querydsl.core.types.PathMetadataFactory.*; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:7: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.PathMetadata; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:8: error: package javax.annotation does not exist import javax.annotation.Generated; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:9: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.Path; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:10: error: package com.querydsl.core.types.dsl does not exist import com.querydsl.core.types.dsl.PathInits; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:17: error: cannot find symbol public class QRecruitMember extends EntityPathBase<RecruitMember> { ^ symbol: class EntityPathBase C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:16: error: cannot find symbol @Generated("com.querydsl.codegen.EntitySerializer") ^ symbol: class Generated C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitMember.java:17: error: cannot find symbol public class QRecruitMember extends EntityPathBase<RecruitMember> { ^ symbol: class RecruitMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:31: error: cannot find symbol public final ListPath<Review, QReview> reviews = this.<Review, QReview>createList("reviews", Review.class, QReview.class, PathInits.DIRECT2); ^ symbol: class ListPath location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:31: error: cannot find symbol public final ListPath<Review, QReview> reviews = this.<Review, QReview>createList("reviews", Review.class, QReview.class, PathInits.DIRECT2); ^ symbol: class Review location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:3: error: package com.querydsl.core.types does not exist import static com.querydsl.core.types.PathMetadataFactory.*; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:7: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.PathMetadata; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:8: error: package javax.annotation does not exist import javax.annotation.Generated; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:9: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.Path; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:10: error: package com.querydsl.core.types.dsl does not exist import com.querydsl.core.types.dsl.PathInits; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:17: error: cannot find symbol public class QReview extends EntityPathBase<Review> { ^ symbol: class EntityPathBase C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:16: error: cannot find symbol @Generated("com.querydsl.codegen.EntitySerializer") ^ symbol: class Generated C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:17: error: cannot find symbol public class QReview extends EntityPathBase<Review> { ^ symbol: class Review C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:37: error: cannot find symbol public QMember(Path<? extends Member> path) { ^ symbol: class Path location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:37: error: cannot find symbol public QMember(Path<? extends Member> path) { ^ symbol: class Member location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMember.java:41: error: cannot find symbol public QMember(PathMetadata metadata) { ^ symbol: class PathMetadata location: class QMember C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:21: error: cannot find symbol private static final PathInits INITS = PathInits.DIRECT2; ^ symbol: class PathInits location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:25: error: cannot find symbol public final StringPath comment = createString("comment"); ^ symbol: class StringPath location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:27: error: cannot find symbol public final DatePath<java.time.LocalDate> date = createDate("date", java.time.LocalDate.class); ^ symbol: class DatePath location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:29: error: cannot find symbol public final NumberPath<Integer> id = createNumber("id", Integer.class); ^ symbol: class NumberPath location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:3: error: package com.querydsl.core.types does not exist import static com.querydsl.core.types.PathMetadataFactory.*; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:7: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.PathMetadata; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:8: error: package javax.annotation does not exist import javax.annotation.Generated; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:9: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.Path; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:10: error: package com.querydsl.core.types.dsl does not exist import com.querydsl.core.types.dsl.PathInits; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:17: error: cannot find symbol public class QRestaurant extends EntityPathBase<Restaurant> { ^ symbol: class EntityPathBase C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:16: error: cannot find symbol @Generated("com.querydsl.codegen.EntitySerializer") ^ symbol: class Generated C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:17: error: cannot find symbol public class QRestaurant extends EntityPathBase<Restaurant> { ^ symbol: class Restaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:35: error: cannot find symbol public final ListPath<ReviewImg, QReviewImg> reviewImgs = this.<ReviewImg, QReviewImg>createList("reviewImgs", ReviewImg.class, QReviewImg.class, PathInits.DIRECT2); ^ symbol: class ListPath location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:35: error: cannot find symbol public final ListPath<ReviewImg, QReviewImg> reviewImgs = this.<ReviewImg, QReviewImg>createList("reviewImgs", ReviewImg.class, QReviewImg.class, PathInits.DIRECT2); ^ symbol: class ReviewImg location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:3: error: package com.querydsl.core.types does not exist import static com.querydsl.core.types.PathMetadataFactory.*; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:7: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.PathMetadata; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:8: error: package javax.annotation does not exist import javax.annotation.Generated; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:9: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.Path; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:10: error: package com.querydsl.core.types.dsl does not exist import com.querydsl.core.types.dsl.PathInits; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:17: error: cannot find symbol public class QReviewImg extends EntityPathBase<ReviewImg> { ^ symbol: class EntityPathBase C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:16: error: cannot find symbol @Generated("com.querydsl.codegen.EntitySerializer") ^ symbol: class Generated C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:17: error: cannot find symbol public class QReviewImg extends EntityPathBase<ReviewImg> { ^ symbol: class ReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:37: error: cannot find symbol public final NumberPath<Integer> star = createNumber("star", Integer.class); ^ symbol: class NumberPath location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:43: error: cannot find symbol public QReview(Path<? extends Review> path) { ^ symbol: class Path location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:43: error: cannot find symbol public QReview(Path<? extends Review> path) { ^ symbol: class Review location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:47: error: cannot find symbol public QReview(PathMetadata metadata) { ^ symbol: class PathMetadata location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:51: error: cannot find symbol public QReview(PathMetadata metadata, PathInits inits) { ^ symbol: class PathMetadata location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:51: error: cannot find symbol public QReview(PathMetadata metadata, PathInits inits) { ^ symbol: class PathInits location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:55: error: cannot find symbol public QReview(Class<? extends Review> type, PathMetadata metadata, PathInits inits) { ^ symbol: class Review location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:55: error: cannot find symbol public QReview(Class<? extends Review> type, PathMetadata metadata, PathInits inits) { ^ symbol: class PathMetadata location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReview.java:55: error: cannot find symbol public QReview(Class<? extends Review> type, PathMetadata metadata, PathInits inits) { ^ symbol: class PathInits location: class QReview C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:21: error: cannot find symbol private static final PathInits INITS = PathInits.DIRECT2; ^ symbol: class PathInits location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:25: error: cannot find symbol public final NumberPath<Integer> id = createNumber("id", Integer.class); ^ symbol: class NumberPath location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:29: error: cannot find symbol public final StringPath url = createString("url"); ^ symbol: class StringPath location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:35: error: cannot find symbol public QReviewImg(Path<? extends ReviewImg> path) { ^ symbol: class Path location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:35: error: cannot find symbol public QReviewImg(Path<? extends ReviewImg> path) { ^ symbol: class ReviewImg location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:39: error: cannot find symbol public QReviewImg(PathMetadata metadata) { ^ symbol: class PathMetadata location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:43: error: cannot find symbol public QReviewImg(PathMetadata metadata, PathInits inits) { ^ symbol: class PathMetadata location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:43: error: cannot find symbol public QReviewImg(PathMetadata metadata, PathInits inits) { ^ symbol: class PathInits location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:47: error: cannot find symbol public QReviewImg(Class<? extends ReviewImg> type, PathMetadata metadata, PathInits inits) { ^ symbol: class ReviewImg location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:47: error: cannot find symbol public QReviewImg(Class<? extends ReviewImg> type, PathMetadata metadata, PathInits inits) { ^ symbol: class PathMetadata location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QReviewImg.java:47: error: cannot find symbol public QReviewImg(Class<? extends ReviewImg> type, PathMetadata metadata, PathInits inits) { ^ symbol: class PathInits location: class QReviewImg C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:23: error: cannot find symbol public final StringPath category = createString("category"); ^ symbol: class StringPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:25: error: cannot find symbol public final StringPath cell_number = createString("cell_number"); ^ symbol: class StringPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:27: error: cannot find symbol public final NumberPath<Integer> id = createNumber("id", Integer.class); ^ symbol: class NumberPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:29: error: cannot find symbol public final StringPath load_address = createString("load_address"); ^ symbol: class StringPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:31: error: cannot find symbol public final NumberPath<Double> location_x = createNumber("location_x", Double.class); ^ symbol: class NumberPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:33: error: cannot find symbol public final NumberPath<Double> location_y = createNumber("location_y", Double.class); ^ symbol: class NumberPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:35: error: cannot find symbol public final ListPath<Menu, QMenu> menus = this.<Menu, QMenu>createList("menus", Menu.class, QMenu.class, PathInits.DIRECT2); ^ symbol: class ListPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:35: error: cannot find symbol public final ListPath<Menu, QMenu> menus = this.<Menu, QMenu>createList("menus", Menu.class, QMenu.class, PathInits.DIRECT2); ^ symbol: class Menu location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:3: error: package com.querydsl.core.types does not exist import static com.querydsl.core.types.PathMetadataFactory.*; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:7: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.PathMetadata; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:8: error: package javax.annotation does not exist import javax.annotation.Generated; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:9: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.Path; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:10: error: package com.querydsl.core.types.dsl does not exist import com.querydsl.core.types.dsl.PathInits; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:17: error: cannot find symbol public class QMenu extends EntityPathBase<Menu> { ^ symbol: class EntityPathBase C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:16: error: cannot find symbol @Generated("com.querydsl.codegen.EntitySerializer") ^ symbol: class Generated C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QMenu.java:17: error: cannot find symbol public class QMenu extends EntityPathBase<Menu> { ^ symbol: class Menu C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:37: error: cannot find symbol public final StringPath name = createString("name"); ^ symbol: class StringPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:39: error: cannot find symbol public final ListPath<RecruitBoard, QRecruitBoard> recruitBoards = this.<RecruitBoard, QRecruitBoard>createList("recruitBoards", RecruitBoard.class, QRecruitBoard.class, PathInits.DIRECT2); ^ symbol: class ListPath location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRestaurant.java:39: error: cannot find symbol public final ListPath<RecruitBoard, QRecruitBoard> recruitBoards = this.<RecruitBoard, QRecruitBoard>createList("recruitBoards", RecruitBoard.class, QRecruitBoard.class, PathInits.DIRECT2); ^ symbol: class RecruitBoard location: class QRestaurant C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitBoard.java:3: error: package com.querydsl.core.types does not exist import static com.querydsl.core.types.PathMetadataFactory.*; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitBoard.java:7: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.PathMetadata; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitBoard.java:8: error: package javax.annotation does not exist import javax.annotation.Generated; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitBoard.java:9: error: package com.querydsl.core.types does not exist import com.querydsl.core.types.Path; ^ C:\Users\user\IdeaProjects\intern-project\src\main\generated\com\gabia\project\internproject\common\domain\QRecruitBoard.java:10: error: package com.querydsl.core.types.dsl does not exist import com.querydsl.core.types.dsl.PathInits; ^ 100 errors
springspring-bootjavaJPA

Câu trả lời 10

10

인텔리 제이 쓰시면 

File | Settings | Build, Execution, Deployment | Build Tools | Gradle 설정에서 

Build and run using: IntelliJ IDEA 로 변경해보셨나요?

감사합니다 이걸로 해결됐네요

저도 이걸로 해결됐네요 ㅎㅎ 감사합니다 

8

안녕하세요~!! 저도 같은 이슈를 겪다가 혹시나 도움이 될까해서 글 남깁니다~!!
저는 Gradle 6.0 이상에서 아래와 같이 설정해서 사용하고 있습니다.

plugins {
    id 'java'
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {

    compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '5.4.21.Final'
    compile group: 'com.h2database', name: 'h2', version: '1.4.200'
    compile 'org.projectlombok:lombok:1.18.12'
    compile group: 'com.querydsl', name: 'querydsl-jpa', version: '4.3.1'

    annotationProcessor 'org.projectlombok:lombok:1.18.12'
    annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: '4.3.1'

    testCompileOnly 'org.projectlombok:lombok:1.18.12'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'

    testCompile group: 'junit', name: 'junit', version: '4.12'
}

querydsl {
    jpa = true
    querydslSourcesDir = "$buildDir/generated-source"
}

compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}

이거 설정하고 우선 gradle Fresh 후 gradle -> build -> clean 메뉴 실행 후

gradle -> build -> classes 실행하시거나 프로젝트 런 하시면 쿼리타입(Q붙은 객체) 생성되실거에요~!!

4

안녕하세요

저도 이 문제에 대해서 되짚어보면서 

프로젝트를 run 하는데는 별 문제 없었는데

빌드를 하려니 오류가 나서 찾아봤습니다

lombok과 querydsl 을 같이 쓰게 되면 생기는 문제더라구요

 id "io.franzbecker.gradle-lombok" version "3.0.0"

구글링 해보면 위 내용을 plugin에 추가하는걸 추천하네요 (저는 아직 해결 못했습니다)

근본적인 문제가 뭔지 궁금합니다 ㅠㅠ 

3

yh님의 프로필 이미지
yh
Người chia sẻ kiến thức

최신 intellij를 사용하시면 다음 코드를 참고해주세요^^ 

plugins {
    id 'org.springframework.boot' version ‘2.2.2.RELEASE'
    id 'io.spring.dependency-management' version '1.0.8.RELEASE'
    //querydsl 추가
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
    id 'java'
}

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

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'

    //querydsl 추가
    implementation 'com.querydsl:querydsl-jpa'

    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.h2database:h2'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: ‘org.junit.vintage’, module: ‘junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
    jpa = true
    querydslSourcesDir = querydslDir
}
sourceSets {
    main.java.srcDir querydslDir
}
configurations {
    querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}
//querydsl 추가 끝

1


//querydsl 추가
def querydslDir = 'src/main/generated'
//def querydslDir = "$buildDir/generated/querydsl"

querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslDir
}

sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslDir]
}
}
}

compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}

configurations {
querydsl.extendsFrom compileClasspath
}

감사합니다! 해당 코드로 설정하니 해결 되었습니다 :)
혹시 어떤 의미로 querydslDir가 변경 되었는지 알 수 있을까요?

1

이거 해결하셨나요? 저도 이것때문에 미치겠네요 ㅠ

0

Jhipster 로 gradle 템플릿 프로젝트 만들어서 dependencies 설정 변경하고 테스트 해보니 잘 되네요.

한번 비교해서 적용해보세요.. 플러그인 설정은 따로 안했습니다. gradle 버전은 6.0 입니다.

dependencies {
// import JHipster dependencies BOM
implementation platform("io.github.jhipster:jhipster-dependencies:${jhipster_dependencies_version}" )

// Use ", version: jhipster_dependencies_version, changing: true" if you want
// to use a SNAPSHOT release instead of a stable release
implementation group: "io.github.jhipster", name: "jhipster-framework"
implementation "org.springframework.boot:spring-boot-starter-cache"
implementation "io.dropwizard.metrics:metrics-core"
implementation "io.micrometer:micrometer-registry-prometheus"
implementation "net.logstash.logback:logstash-logback-encoder"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hppc"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate5"
implementation "com.fasterxml.jackson.core:jackson-annotations"
implementation "com.fasterxml.jackson.core:jackson-databind"
implementation "com.fasterxml.jackson.module:jackson-module-afterburner"
implementation "javax.cache:cache-api"
implementation "org.hibernate:hibernate-core"
implementation "com.zaxxer:HikariCP"
implementation "org.apache.commons:commons-lang3"
implementation "commons-io:commons-io"
implementation "javax.transaction:javax.transaction-api"
implementation "org.ehcache:ehcache"
implementation "org.hibernate:hibernate-entitymanager"
implementation "org.hibernate.validator:hibernate-validator"
implementation "org.liquibase:liquibase-core"
liquibaseRuntime "org.liquibase:liquibase-core"
liquibaseRuntime "org.liquibase.ext:liquibase-hibernate5:${liquibase_hibernate5_version}"
liquibaseRuntime sourceSets.main.compileClasspath
implementation "org.springframework.boot:spring-boot-loader-tools"
implementation "org.springframework.boot:spring-boot-starter-mail"
implementation "org.springframework.boot:spring-boot-starter-logging"
implementation "org.springframework.boot:spring-boot-starter-actuator"
implementation "org.springframework.boot:spring-boot-starter-aop"
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
implementation "org.apache.kafka:kafka-clients"
implementation "org.springframework.boot:spring-boot-starter-security"
implementation ("org.springframework.boot:spring-boot-starter-web") {
exclude module: "spring-boot-starter-tomcat"
}
implementation "org.springframework.boot:spring-boot-starter-undertow"
implementation "org.springframework.boot:spring-boot-starter-websocket"
implementation "org.springframework.boot:spring-boot-starter-thymeleaf"
implementation "org.zalando:problem-spring-web"
implementation "org.springframework.boot:spring-boot-starter-cloud-connectors"
implementation "org.springframework.security:spring-security-config"
implementation "org.springframework.security:spring-security-data"
implementation "org.springframework.security:spring-security-web"
implementation "org.springframework.security:spring-security-messaging"
implementation "io.jsonwebtoken:jjwt-api"
runtimeOnly "io.jsonwebtoken:jjwt-impl"
runtimeOnly "io.jsonwebtoken:jjwt-jackson"
implementation ("io.springfox:springfox-swagger2") {
exclude module: "mapstruct"
}
implementation "io.springfox:springfox-bean-validators"
implementation "org.postgresql:postgresql"
liquibaseRuntime "org.postgresql:postgresql"
implementation "org.mapstruct:mapstruct:${mapstruct_version}"

annotationProcessor "org.glassfish.jaxb:jaxb-runtime:${jaxb_runtime_version}"
annotationProcessor ("org.springframework.boot:spring-boot-configuration-processor:${spring_boot_version}") {
exclude group: "com.vaadin.external.google", module: "android-json"
}
testImplementation "com.jayway.jsonpath:json-path"
testImplementation ("org.springframework.boot:spring-boot-starter-test") {
exclude module: "junit"
exclude group: "com.vaadin.external.google", module: "android-json"
}
testImplementation "org.springframework.security:spring-security-test"
testImplementation "org.springframework.boot:spring-boot-test"
testImplementation "org.junit.jupiter:junit-jupiter-engine"
testImplementation "com.tngtech.archunit:archunit-junit5-api:${archunit_junit5_version}"
testRuntimeOnly "com.tngtech.archunit:archunit-junit5-engine:${archunit_junit5_version}"
testImplementation "org.assertj:assertj-core"
testImplementation "junit:junit"
testImplementation "org.mockito:mockito-core"
testImplementation "org.hamcrest:hamcrest-library"
testImplementation "com.h2database:h2"
testImplementation "org.testcontainers:database-commons"
testImplementation "org.testcontainers:kafka"
//jhipster-needle-gradle-dependency - JHipster will add additional dependencies here


// 여기서 변경 시작!!

// querydsl 적용
compile(
"com.querydsl:querydsl-core:4.3.1",
"com.querydsl:querydsl-jpa:4.3.1"
)

compileOnly "org.projectlombok:lombok:1.18.12"

// annotationProcessor 순서 변경
annotationProcessor "com.querydsl:querydsl-apt:4.3.1:jpa",
"org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final",
"javax.annotation:javax.annotation-api:1.3.2",
"org.projectlombok:lombok:1.18.12",
"org.mapstruct:mapstruct-processor:${mapstruct_version}"
"org.hibernate:hibernate-jpamodelgen:${hibernate_version}"
}

0

김영한님께서 위에서 언급하신 코드대로 수정해도 똑같이 안되서 미치겠네요... 실행은 되는것 같으나 프로젝트 빌드가 안되가지고.. 개인프로젝트 Backlog 설정에 여러모로 어려움을 겪고 있습니다..  해결책이 있으면 좋겠네요.

0

cwj님의 프로필 이미지
cwj
Người đặt câu hỏi

아뇨.. 일단 사용은 할 수 있어서 그냥 쓰고있습니다.

0

yh님의 프로필 이미지
yh
Người chia sẻ kiến thức

안녕하세요. cwj님

최근 intellij에서 일부 안되는 현상이 있는데요.

전체 프로젝트를 압축해서 올려주세요.

Hình ảnh hồ sơ của cwj1888
cwj1888

câu hỏi đã được viết

Đặt câu hỏi