spring maven 项目中的映射处理器作为插件
Mappping Processor as plugin in spring maven project
我开发了一个使用 lombok 和 mapstruct 库的项目。
我有以下 Maven 结构:
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.6</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.3.1.Final</version>
</dependency>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.3.1.Final</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
到目前为止,我在 运行 安装应用程序时没有遇到任何问题。今天编译的时候报了如下错误
java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.java:180)
这是在我的项目中使用 MapStruct 的示例。
@Mapper(componentModel = "spring", uses = {}, unmappedTargetPolicy = ReportingPolicy.WARN)
public interface AccountMapper {
@Mapping(source = "registerDto.firstName", target = "firstName")
Account from(RegisterDto registerDto, PasswordDto passwordDto);
}
在那种情况下可能是什么问题?
我只在 IntelliJ 中遇到过这个问题。在 cmd 中我可以 运行 和编译项目。
我发现了一篇有趣的文章,它解决了 Intellij 中的编译问题。
https://youtrack.jetbrains.com/issue/IDEA-220430
我开发了一个使用 lombok 和 mapstruct 库的项目。 我有以下 Maven 结构:
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.6</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.3.1.Final</version>
</dependency>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.3.1.Final</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
到目前为止,我在 运行 安装应用程序时没有遇到任何问题。今天编译的时候报了如下错误
java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.java:180)
这是在我的项目中使用 MapStruct 的示例。
@Mapper(componentModel = "spring", uses = {}, unmappedTargetPolicy = ReportingPolicy.WARN)
public interface AccountMapper {
@Mapping(source = "registerDto.firstName", target = "firstName")
Account from(RegisterDto registerDto, PasswordDto passwordDto);
}
在那种情况下可能是什么问题? 我只在 IntelliJ 中遇到过这个问题。在 cmd 中我可以 运行 和编译项目。
我发现了一篇有趣的文章,它解决了 Intellij 中的编译问题。 https://youtrack.jetbrains.com/issue/IDEA-220430