解决QueryDSL和MapStruct冲突
当在JDK 17下使用QueryDSL和MapStruct时,您可以按以下步骤进行配置,以解决冲突并实现兼容性。
删除所有Maven配置
首先,删除所有Maven配置,以便在项目中不引入额外的依赖。
添加以下依赖
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>5.0.0</version>
<classifier>jakarta</classifier>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>5.0.0</version>
<classifier>jakarta</classifier>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.5.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.5.Final</version>
<scope>provided</scope>
</dependency>
类上添加@Mapper(componentModel = MappingConstants.ComponentModel.SPRING)注解即可兼容正常生成querydsl查询类和MapStruct映射类