You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus集成MapStruct遇UnsatisfiedResolutionException问题求助

解决Quarkus中MapStruct依赖注入失败问题

针对你遇到的javax.enterprise.inject.UnsatisfiedResolutionException,结合你已确认生成类带有@ApplicationScoped注解的情况,按以下步骤排查解决:

1. 显式配置Maven注解处理器路径

Quarkus开发模式对注解处理器的依赖处理有特殊要求,仅将mapstruct-processor设为provided可能导致处理器未被正确触发。在pom.xml的build/plugins节点下添加maven-compiler-plugin配置,显式指定注解处理器路径:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven-compiler-plugin.version}</version>
            <configuration>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.mapstruct</groupId>
                        <artifactId>mapstruct-processor</artifactId>
                        <version>${mapstruct.version}</version>
                    </path>
                    <path>
                        <groupId>io.quarkus</groupId>
                        <artifactId>quarkus-extension-processor</artifactId>
                        <version>${quarkus.version}</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

确保${maven-compiler-plugin.version}和${quarkus.version}与项目使用的版本一致。

2. 清理并重新编译项目

旧编译产物可能导致CDI容器无法识别新生成的Mapper实现,执行以下命令彻底清理后重启:

./mvnw clean compile quarkus:dev

3. 验证MapStruct与Quarkus版本兼容性

确保两者版本匹配:

  • Quarkus 3.x 推荐使用MapStruct 1.5.5.Final及以上版本
  • Quarkus 2.x 可使用MapStruct 1.4.x或1.5.x版本

若版本不匹配,更新pom.xml中的${mapstruct.version}至兼容版本。

4. 确认CDI包扫描范围

检查项目是否自定义了CDI扫描范围,确保Mapper接口所在的org.acme.dto.mapper包被包含。Quarkus默认扫描org.acme及其子包,如有自定义配置需调整。

5. 检查Mapper实现类生成状态

重新编译后,确认target/generated-sources/annotations下的生成类:

  • 类名应为BookMapperImpl、AuthorMapperImpl等格式
  • 类上带有@ApplicationScoped注解
  • 正确实现了对应Mapper接口的方法

若生成类不符合预期,需检查@Mapper注解的componentModel = "cdi"配置是否无误。

内容的提问来源于stack exchange,提问作者freestar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:55:27