mapstruct 和lombok 结合之后mapstruct生成空实现的解决办法

lombok和mapstruct配合转换bean后,mapstruct生成空的实现.

  • 如果出现mapstruct和lombok配合生成的bean实现类中是空实现,没有对生成bean进行setter赋值.那么就需要在maven-compiler-plugin插件下多配置一个lombok-mapstruct-binding注解处理器来绑定mapstructlombok.
  • pom文件内容如下:
 
        1.8
        1.4.2.Final
    

                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    1.8
                    1.8
                    
                        
                            org.mapstruct
                            mapstruct-processor
                            ${org.mapstruct.version}
                        
                        
                            org.projectlombok
                            lombok
                            ${lombok.version}
                        
                        
                            org.projectlombok
                            lombok-mapstruct-binding
                            0.2.0  
                        

                    
                
            
  • maven多项目打包时,在父项目的pom中配置maven打包插件:
       
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        true
                    
                    
                        
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
  • 在子项目中如果是被依赖项目且没有项目入口文件的,则需要在子项目的pom中屏蔽打包插件,比如我的lj-buisness-core项目没有项目入口文件***Application.java,pom配置如下:
     
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
        
    
  • 当然如果子项目有入口文件即LjCenteringBusinessCouponsApplication.java则该子项目的pom文件不需要配置spring-boot-maven-plugin插件,让其从父项目中继承即可.

你可能感兴趣的:(mapstruct 和lombok 结合之后mapstruct生成空实现的解决办法)