安装
目录
注:当前版本1.3.1.Final(2019年9月29日)
分发包
您可以从GitHub获取包含MapStruct的二进制文件,源代码和API文档的分发包。
Apache Maven
如果使用Maven构建项目,则将以下内容添加到 pom.xml 中以使用MapStruct:
...
<properties>
<org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
</properties>
...
<dependencies>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
</dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version> <!-- or newer version -->
<configuration>
<source>1.8</source> <!-- depending on your project -->
<target>1.8</target> <!-- depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
Gradle
使用Gradle,您可以将以下内容添加到build.gradle中:
plugins {
...
id 'net.ltgt.apt' version '0.8'
}
dependencies {
...
compile 'org.mapstruct:mapstruct:1.3.1.Final'
apt 'org.mapstruct:mapstruct-processor:1.3.1.Final'
}
您可以在GitHub上的mapstruct-examples项目中找到完整的示例。
Apache Ant
将javac
如下配置的任务添加到build.xml文件中,以便在基于Ant的项目中启用MapStruct。根据项目布局的需要调整路径。
...
<javac
srcdir = “ src / main / java”
destdir = “目标/类别”
classpath = “路径/至/mapstruct-1.3.1.Final.jar” >
<compilerarg line = “ -processorpath path / to / mapstruct-processor-1.3.1.Final.jar” />
<compilerarg line = “ -s目标/生成源” />
</ javac>
...
您可以在GitHub上的mapstruct-examples项目中找到完整的示例。
参考指南
编辑器支持
MapStruct的一大优点是对映射配置问题的早期反馈。要在您的IDE中充分利用此功能,请确保注释处理器随每次编译一起运行。
Eclipse
Maven整合
如果您正在使用Maven项目,请确保已安装最新版本的m2e-apt插件,该插件会自动获取并应用注释处理器设置。
为了获得最佳效果,请将以下内容添加到中pom.xml
:
<properties>
<!-- automatically run annotation processors within the incremental compilation -->
<m2e.apt.activation>jdt_apt</m2e.apt.activation>
</properties>
编辑支持
对于Eclipse,我们还在开发一个插件,该插件添加了代码完成功能(例如,用于属性名称)和针对常见用例的快速修复:
属性和枚举常量的提示
快速修复以忽略未映射的属性
安装
或者,您可以从Eclipse Marketplace获得MapStruct Eclipse插件。有关更多信息和安装最新的Snapshot版本,请访问GitHub插件项目。
IntelliJ IDEA
根据您在Maven或Gradle项目中配置注释处理器的方式,IntelliJ可能会或可能不会自动选择它。您可能需要在项目配置中亲自进行确认。
Maven整合
例如,如果您使用annotationProcessorPaths
在maven-compiler-plugin中使用的文档中建议的Maven配置方式,则需要手动配置IntelliJ,直到实现功能请求IDEA-150621。另一种方法是添加mapstruct-processor
与项目依赖<optional>true</optional>
于你pom.xml
,这应该然后自动重新拾起。
编辑支持
有一个支持MapStruct的IntelliJ插件,您可以在Jetbrains插件存储库中找到。该插件是开源的,你可以报告bug和功能要求这里在GitHub上。
属性和枚举常量的完成
从注释转到声明
查找用法
NetBeans
Maven整合
如果您使用的是Maven项目,则无需执行其他操作。NetBeans使用Maven编译您的源代码,其中包括注释处理器的调用。
编辑支持
我们尚不知道对NetBeans中的MapStruct映射器有特殊编辑支持的计划。但是我们很乐意看到一个!