我得到的异常(exception)是:
java.lang.NullPointerException
at org.dozer.MappingProcessor.getClassMap(MappingProcessor.java:1034)
at org.dozer.MappingProcessor.map(MappingProcessor.java:162)
at org.dozer.MappingProcessor.map(MappingProcessor.java:124)
at org.dozer.MappingProcessor.map(MappingProcessor.java:119)
at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:111)
at com.shiladit.CategoryResource.get(CategoryResource.java:120)
我最近升级到了 dozerBeanMapper 5.3.2。
我已经通过 XML 定义了自定义映射。我可能哪里出错了?
编辑:我在 MappingProcessor here 中看到第 1034 行,我假设 classMappings 为 null,这可能意味着未选取定义的自定义 XML 映射。
最佳答案
如果您像这样实例化映射器:
Mapper 映射器 = new DozerBeanMapper();
目标对象 destObject =
mapper.map(sourceObject, DestinationObject.class);
您不需要包含映射的文件。如果您使用生产方式 ( dozer documentation ) 实例化映射器,则需要带有映射的 dozerBeanMapping.xml 文件。
Mapper 映射器 = DozerBeanMapperSingletonWrapper.getInstance();
目标对象 destObject =
mapper.map(sourceObject, DestinationObject.class);
否则您将收到您发布的异常。我见过它调试Dozer lib的源代码。
您是否使用 DozerBeanMapperSingletonWrapper 实例化 Mapper ?
希望对你有帮助
关于java - Dozer 在 getClassMap 上抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302605/