1

我通常在我的项目中使用 Orika 并取得了巨大的成功。
我添加了一个新类型,同时注册了源和目标,当我使用 mapper.mapAsList(sourceList, targetClass) 映射它时,出现以下异常

[2015-02-11 19:58:19,836][ERROR][platform.fe.baseservice.utils.validators.BasicFEValidator] validateTransformingAPIModelToDataModel
java.lang.NullPointerException: null
    at ma.glasnost.orika.generated.Orika_HTML5Single_APIHTML5Single_Mapper808888457244295$34.mapAtoB(Orika_HTML5Single_APIHTML5_Mapper808888457244295$34.java) ~[na:na]
    at ma.glasnost.orika.impl.mapping.strategy.UseCustomMapperStrategy.map(UseCustomMapperStrategy.java:65) ~[orika-core-1.4.4.jar:na]
    at ma.glasnost.orika.impl.MapperFacadeImpl.mapAsCollection(MapperFacadeImpl.java:646) ~[orika-core-1.4.4.jar:na]
    at ma.glasnost.orika.impl.MapperFacadeImpl.mapAsList(MapperFacadeImpl.java:391) ~[orika-core-1.4.4.jar:na]
    at ma.glasnost.orika.impl.MapperFacadeImpl.mapAsList(MapperFacadeImpl.java:729) ~[orika-core-1.4.4.jar:na]
    ....
    ....

只是空指针异常。

现在我一直在尝试调试它很长时间但没有成功(主要是因为它大部分是生成的代码)。

问题:

  1. 获得有意义的例外的最佳方法是什么。
  2. 我该如何调试它?
  3. 有没有办法查看生成的类。

谢谢

4

2 回答 2

1

这里有一个故障排除指南:http: //orika-mapper.github.io/orika-docs/troubleshooting.html

当我遇到一些我无法弄清楚的异常时,我所做的就是从打开源生成开始(请参阅“生成源和/或类文件”部分,使用OrikaSystemProperties#WRITE_SOURCE_FILESandOrikaSystemProperties#WRITE_SOURCE_FILES_TO_PATH属性)。大多数时候,我可以弄清楚在我的情况下什么是空的。

如果我仍然有疑问,我将编译器切换到 Eclipse JDT(请参阅“启用步进调试”部分),这比以前的解决方案需要更多的努力,但为您提供了完整的调试可能性。

于 2015-08-31T10:42:53.073 回答
0

面临类似的问题。经过 4 到 5 天的反复试验发现,我的布尔属性名称以“is”开头。更正此问题后,问题得到解决。

于 2018-07-16T12:54:49.997 回答