Tha*_*s M 1 maven querydsl spring-boot mapstruct
我尝试将 MapStruct 与 QueryDsl、Spring Boot 3 和 Java 17 一起使用,但maven-compiler-plugin我用于 MapStruct 的似乎阻止了 QueryDsl 资源的生成。
<dependencies>
<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>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
如果我删除maven-compiler-pluginQueryDsl 资源,则会生成但 MapStruct 不会生成。
我还尝试添加 QueryDsl 注释处理器,但没有任何运气。
<path>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>5.0.0</version>
</path>
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
正如其他评论所建议的,一种解决方案是完全删除 maven-compiler-plugin 并添加以下依赖项。
<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.3.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.3.Final</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这将生成 mapstruct 和 querydsl 资源。
为了强制 mapstruct 将映射器生成为 Spring beans,我还必须
componentModel = MappingConstants.ComponentModel.SPRING在 @Mapper 注释中设置属性。
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |