解决办法:

当前mavan模块必须直接导入mapstruct的jar包坐标,不能通过依赖传递来引用

一般项目都是最外层的parent pom导入mapstruct mavn版本依赖,然后common模块引入mapstruct 的jar包,service再依赖common中的mapstruct。这样会就会导致这个问题。

     <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-jdk8</artifactId>
                <version>${org.mapstruct.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>${org.mapstruct.version}</version>
                <scope>provided</scope>
            </dependency>
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Cannot find implementation for Mapstruc.NodeMapper
	at org.mapstruct.factory.Mappers.getMapper(Mappers.java:61)
	at Mapstruc.NodeMapper.<clinit>(NodeMapper.java:15)
	... 22 more
Caused by: java.lang.ClassNotFoundException: Cannot find implementation for Mapstruc.NodeMapper
	at org.mapstruct.factory.Mappers.getMapper(Mappers.java:75)
	at org.mapstruct.factory.Mappers.getMapper(Mappers.java:58)
	... 23 more

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐