我通常在我的项目中使用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]
....
....
只是空指针异常。
现在,我一直在尝试调试它很长时间,但是没有成功(主要是因为其中大多数是生成的代码)。
问题:
获得有意义的例外的最佳方法是什么。
我该如何调试?
有没有办法查看生成的类。
谢谢
最佳答案
这里有一个故障排除指南:
http://orika-mapper.github.io/orika-docs/troubleshooting.html
当遇到一些我无法弄清楚的异常时,我所做的就是从打开源代码生成开始(请参见“生成源文件和/或类文件”部分,使用OrikaSystemProperties#WRITE_SOURCE_FILES
和OrikaSystemProperties#WRITE_SOURCE_FILES_TO_PATH
属性)。大多数时候,我可以弄清楚在我的情况下什么是空的。
如果仍然有疑问,我将编译器切换到Eclipse JDT(请参阅“启用逐步调试”部分),该过程比以前的解决方案花费更多的精力,但为您提供了完全的调试可能性。