MapStruct - Lombok & Maven 版本关系

简介: MapStruct - Lombok & Maven 版本关系
  • Maven版本要3.6.0以上
  • Lombok版本要1.16.16以上
  • (仅针对方案一)另外编译的 Lombok、Mapstruct 的插件不要忘记加上,否则会引发如下报错:

No property named “XXX“ exists in source parameter(s). Did you mean “null“?

解决方案

方案一

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><org.mapstruct.version>1.4.1.Final</org.mapstruct.version><org.projectlombok.version>1.18.12</org.projectlombok.version></properties><dependencies><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${org.mapstruct.version}</version></dependency><!--lombokdependenciesshouldnotenduponclasspath--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${org.projectlombok.version}</version><scope>provided</scope></dependency><!--idea2018.1.1之前的版本需要添加下面的配置,后期的版本就不需要了,可以注释掉,我自己用的2019.3--><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>${org.mapstruct.version}</version><scope>provided</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${org.projectlombok.version}</version></path><path><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>${org.mapstruct.version}</version></path></annotationProcessorPaths></configuration></plugin></plugins></build>

方案二

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><org.mapstruct.version>1.4.1.Final</org.mapstruct.version><org.projectlombok.version>1.18.12</org.projectlombok.version></properties><dependencies><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct-jdk8</artifactId><version>${org.mapstruct.version}</version></dependency><!--lombokdependenciesshouldnotenduponclasspath--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${org.projectlombok.version}</version><scope>provided</scope></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>${org.mapstruct.version}</version><scope>provided</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
目录
相关文章
|
6月前
|
Java Maven
Maven 将询问原型的版本
在创建 Maven 项目时,选择 `maven-archetype-quickstart` 的 1.1 版本。配置包括 `groupId`(com.companyname.insurance)、`artifactId`(health)、`version`(1.0-SNAPSHOT)和 `package`(com.companyname.insurance)。用户确认设置后,Maven 创建项目结构,成功完成于 C:\MVN\health 目录,总耗时 4 分钟 12 秒。
|
20天前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
|
6月前
|
Java Maven
Maven 将询问原型的版本
Maven 将询问项目细节。按要求输入项目细节。如果要使用默认值则直接按 Enter 键。
|
6月前
|
Java Maven
Maven 将询问原型的版本
Maven prompts for the version of `maven-archetype-quickstart`, defaulting to 1.1. It then asks for project details like `groupId`, `artifactId`, `version`, and `package`, accepting default values or custom inputs. Upon confirmation
|
6月前
|
Java Maven
Maven 将询问原型的版本
在创建项目时,Maven 提供了 `maven-archetype-quickstart` 的版本选择,用户选择了版本 1.1。接着,用户输入了项目详细信息,包括 `groupId` 为 `com.companyname.insurance`,`artifactId` 为 `health`,以及 `version` 为 `1.0-SNAPSHOT`,并确认了这些配置。然后,Maven 创建了项目结构,输出了相关参数和成功完成的信息,整个过程耗时4分12秒。
|
4月前
|
Java Maven
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
|
5月前
|
Java Maven
Maven 将询问原型的版本
在创建项目时,Maven 提示选择 `maven-archetype-quickstart` 的版本,用户选择了 6,即版本 1.1。接着,Maven 请求输入项目详细信息,包括 `groupId`、`artifactId`、`version` 和 `package`,用户提供了自定义值。确认细节无误后,Maven 开始生成项目结构,成功创建了一个位于 `C:\MVN\health` 的项目,总耗时 4 分钟 12 秒。
|
6月前
|
Java Maven
Maven 将询问原型的版本
在创建项目时,Maven 提示选择 `maven-archetype-quickstart` 的版本,用户选择了 6,即版本 1.1。接着,Maven 请求输入项目详细信息,包括 `groupId`、`artifactId`、`version` 和 `package`,用户分别设定了相应值。用户确认这些配置后,Maven 开始生成项目结构,成功创建了一个位于 `C:\MVN\health` 的新项目,总耗时4分钟12秒。
|
5月前
|
Java Maven
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
85 0
|
6月前
|
Java Maven
Maven 将询问原型的版本
Maven prompts for the version of `maven-archetype-quickstart`, defaulting to 1.1. It then asks for project details like `groupId`, `artifactId`, `version`, and `package`, accepting default values or user inputs.