Mapstruct在SpringBoot中不生成映射器类

时间:2019-07-25 12:29:34

标签: java maven mapstruct

我试图将一个使用mapstruck的项目放在一起,但是我遇到了一些麻烦,即没有生成实现SourceToTargetMapper接口的类。

映射器:

for friend in SharedData.sharedInstance.allFriends {
        guard
            let marker = array.first { $0.id == friend.id }
        else { contiunue }
        marker.position = CLLocationCoordinate2D.init(latitude: friend.user_details.latitude , longitude: friend.user_details.longitude)
    }

构建程序时没有错误,但是没有生成类。

我相信pom可能有问题,可能是在build / plugin中缺少或放错了东西:

@Mapper
public interface CreatePersonMapper {
    CreatePersonMapper INSTANCE = Mappers.getMapper(CreatePersonMapper.class);
    DTOIntPerson personToDTOIntPerson(Person person);
}

3 个答案:

答案 0 :(得分:0)

在使用Maven和annotationProcessorPaths时,需要确保Maven-compiler-plugin的版本至少为3.5.1或更高。如果您将Spring Boot用作父级中的父级,那么它应该可以工作,否则就不能正常运行。

答案 1 :(得分:0)

您应该在mapper类@Mapper(componentModel = "spring")中使用spring componentModel,并在mapstruct站点dependency config上使用注释处理器的预期依赖项配置

答案 2 :(得分:0)

在映射器类@Mapper(componentModel =“ spring”)中使用spring componentModel并尝试添加此依赖项

<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
     <version>3.3.2</version>
     <type>jar</type>
</dependency>