我试图将一个使用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);
}
答案 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>