반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

샘오리_개발노트

Querydsl + Spring 3.0 + Java17 업데이트 내용! [Maven+Gradle] 본문

개발자 전향 프로젝트

Querydsl + Spring 3.0 + Java17 업데이트 내용! [Maven+Gradle]

샘오리 2022. 12. 20. 13:34
728x90
반응형

Maven을 사용하고 QueryDSL을 사용했다면 기존 아래와 같이 사용했던  apt-maven-plugin 설정이 있을 것이다.

<!-- ADD FOR Querydsl -->
<plugin>
    <groupId>com.mysema.maven</groupId>
    <artifactId>apt-maven-plugin</artifactId>
    <version>1.1.3</version>
    <executions>
        <execution>
            <goals>
                <goal>process</goal>
            </goals>
            <configuration>
                <outputDirectory>target/generated-sources/java</outputDirectory>    
                <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>    
            </configuration>
        </execution>
    </executions>
</plugin>

하지만 스프링 3 버전, Java 17버전 이후로부터 javax가 jakarta로 넘어가면서 위와 같은 Plugin은 deprecated 되고 말았다.

해서 이제는 아래와 같이 classifier를 직접 추가해줘야 하고 플러그인은 일절 사용하지 않는다.

 

아래 GitHub QueryDSL 공식페이지에 어떤 사용자가 질문한 내용에 대한 답변을 참고하였다.

 

즉, pom.xml에 아래 코드를 붙여넣어 사용하면 된다는 것!

 

<!--QUERYDSL-->
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-jpa</artifactId>
    <version>5.0.0</version>
    <classifier>jakarta</classifier>
</dependency>
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-apt</artifactId>
    <version>5.0.0</version>
    <classifier>jakarta</classifier>
</dependency>
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-core</artifactId>
    <version>5.0.0</version>
</dependency>

*classifier는 querydsl-jpa 와 querydsl-apt만 적어주면 된다.


Gradle 사용중이라면 build.gradle에 기존 QueryDSL 관련 의존성을 모두 아래와 같이 변경하면 된다.

// Querydsl 추가
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"

최신 버전에 최신 기술이다보니 막혀도 찾기가 어렵고 

막상 별것 아닌데 오랜 시간 삽질할 사람들이 많을 것 같아서 이렇게 공유하는 바이다.

 

더 자세한 내용은 아래 공식 문서(5.0 릴리즈 노트)에서 확인하면 된다.

https://github.com/querydsl/querydsl/releases

 

Releases · querydsl/querydsl

Unified Queries for Java. Contribute to querydsl/querydsl development by creating an account on GitHub.

github.com

 

728x90
반응형
Comments