java:由于错误元素 java.util.ArrayList 存在问题,未为 ProductMapper 创建任何实现

Pet*_*zov 11 java spring-boot mapstruct junit5

我正在尝试在 Spring Cloud 项目中创建非常简单的 JUnit 测试:

@SpringBootTest(classes = {ProductMapper.class })
public class TestingWebApplicationTests {

    @Test
    public void contextLoads() {
    }

}

import org.mapstruct.Mapper;

@Mapper(config = BaseMapperConfig.class)
public interface ProductMapper {

    ProductDTO toDTO(Product product);

    ProductFullDTO toFullDTO(Product product);

    Product map(ProductFullDTO productDTO);

    ProductFilter toFilter(ProductFilterDTO dto);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在最新的 Intelij 中运行测试时,出现此错误。

java:由于错误元素 java.util.ArrayList 中存在问题,因此未为 ProductMapper 创建任何实现。提示:这通常意味着其他一些注释处理器应该处理错误的元素。您还可以通过设置 -Amapstruct.verbose=true 作为编译参数来启用 MapStruct 详细模式。

你知道我该如何解决这个问题吗?

thi*_*nwa 23

尝试重新排序注释处理器工厂路径,将 lombok 移至顶部。


Nik*_*las 1

在 Spring 测试配置中使用生成的映射器实现:

@SpringBootTest(classes = {ProductMapperImpl.class })
Run Code Online (Sandbox Code Playgroud)

还要记住,映射器本身应该绑定到 Spring 上下文。