【发布时间】:2019-08-29 21:07:05
【问题描述】:
我愿意在一些官方项目中使用 MapStruct,所以我决定先对其进行一些测试;我需要使其与 eclipse 集成并遵循 MapStruct 网站上提供的所有说明,但是......到目前为止还没有运气。 有人成功实现了这种集成吗?如果是的话我还缺少什么?
我的测试从更大的东西开始,但是当我意识到它不起作用时,我决定使用一个更小的示例,所以我这样做了:
- 使用 openjdk-10.0.1_windows-x64
- 下载并安装了新版本的eclipse (eclipse-jee-2019-03-R-win32-x86_64)
- 安装了最新的 m2e-apt(和 mapstruct 插件,虽然不需要 这个练习)如建议的那样 http://mapstruct.org/documentation/ide-support/
- 已下载https://github.com/mapstruct/mapstruct-examples
- 从 git 导入(从 eclipse 中)mapstruct-clone 项目 (看起来是最基本的例子)
- 按照建议检查了设置 http://mapstruct.org/documentation/dev/reference/html/(第 2.1 章)和 一切看起来都不错
...没有办法说服eclipse自动生成mapper实现,我什至在pom中添加了jdt_apt行。
这里是 pom.xml 的 sn-p - 请参考他的 mapstruct-clone 项目以获取整个代码。
<properties>
<org.mapstruct.version>1.3.0.Final</org.mapstruct.version>
<m2e.apt.activation>jdt_apt</m2e.apt.activation>
</properties>
预期结果是:
- 在下面找到我重新生成的类 保存映射时的“目标/生成源/注释” 界面
- (如http://mapstruct.org/documentation/dev/reference/html/所述 " 它将设置 MapStruct 注释处理器,使其正常运行 在 IDE 中,每当您保存映射器类型时。整洁,不是吗?”)
- 但不要
- 我只能获得通过“mvn clean install”生成的类 这很好,但不是那么方便
重要编辑:我也在使用 lombok javaagent
【问题讨论】:
-
其他使用“eclipse-jee-2018-12-R-win32-x86_64”的测试也失败了
-
其他带有“java-se-8u40-ri”的测试(同时具有
mapstruct-jdk8 和mapstruct 依赖项)也失败了 -
更新:我查看了 eclipse 中的日志,这就是我的 java.lang.NoClassDefFoundError: org/mapstruct/ap/spi/AstModifyingAnnotationProcessor
-
另一个提示,我也在使用 lombok eclipse java 代理,这看起来本身就是一个问题 (github.com/mapstruct/mapstruct/issues/1159)
标签: java eclipse lombok mapstruct