728x90
개발환경
IDE - sts4.16.1
java - 17.0.5
springboot - 3.0.5
패스트캠퍼스 [초격차 패키지 Online. 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring)] 강의
'part2. 기본적인 게시판 서비스'를 듣던 중
querydsl를 bulid.gradle 파일에 의존성 추가하고 gradle 빌드하면
execute compile for :compilejava 오류가 남
여러가지 시도해봤는데 결국 해결 방안은 강의에서 나온 설정과 아주 조금만 바꿔주면 된다....
강의에서 사용된 springboot 버전과 querydsl 버전이 내가 높은 버전이라 설정 방법이 조금 달랐던 듯
implementation "com.querydsl:querydsl-jpa"에서 ":버전:jakarta"를 추가해주고
annotationProcessor "com.querydsl:querydsl-apt:${쿼리dsl 버전정보}:jpa"에서 jpa를 jakarta로 변경해줬더니
generated 폴더안에 Q클래스 잘 생겼다...
dependencies {
...
// queryDSL 설정
implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta"
implementation "com.querydsl:querydsl-core"
implementation "com.querydsl:querydsl-collections"
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" // querydsl JPAAnnotationProcessor 사용 지정
annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드
annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드
}
//Querydsl 설정부
def generated = 'src/main/generated'
// querydsl QClass 파일 생성 위치를 지정
tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(generated))
}
// java source set 에 querydsl QClass 위치 추가
sourceSets {
main.java.srcDirs += [ generated ]
}
// gradle clean 시에 QClass 디렉토리 삭제
clean {
delete file(generated)
}
'🤦♀️ error note' 카테고리의 다른 글
springboot - 정적 리소스(css, js 등) 404 오류 접근 설정 (0) | 2023.04.05 |
---|---|
java - 반복 일정 해당 월 날짜 구하기 (반복문 오류) (0) | 2022.11.11 |
springboot - layout decorate 분기 처리 (0) | 2022.04.09 |
springboot - error 보기 (0) | 2022.02.15 |
이클립스 - 톰캣 서버 충돌 오류 (오라클) (0) | 2022.01.29 |