我有 2 个具有相同“链接”属性的对象,当使用 Orika 从 A
-> B
进行映射时,我得到
ma.glasnost.orika.MappingException:ma.glasnost.orika.MappingException:
While attempting the following mapping:
sourceType = A
sourceProperty = links(Links)
destinationType = B
destinationProperty = links(Links)
Error occurred: java.lang.NullPointerException
Caused by: ma.glasnost.orika.MappingException: java.lang.NullPointerException
at ma.glasnost.orika.impl.generator.MapperGenerator.addMapMethod(MapperGenerator.java:170)
at ma.glasnost.orika.impl.generator.MapperGenerator.build(MapperGenerator.java:70)
... 49 common frames omitted
Caused by: java.lang.NullPointerException: null
at ma.glasnost.orika.impl.generator.VariableRef.isPrimitive(VariableRef.java:167)
at ma.glasnost.orika.impl.generator.VariableRef.<init>(VariableRef.java:95)
at ma.glasnost.orika.impl.generator.specification.MapToMap.generateMappingCode(MapToMap.java:71)
at ma.glasnost.orika.impl.generator.SourceCodeContext.mapFields(SourceCodeContext.java:778)
at ma.glasnost.orika.impl.generator.MapperGenerator.generateFieldMapCode(MapperGenerator.java:247)
at ma.glasnost.orika.impl.generator.MapperGenerator.addMapMethod(MapperGenerator.java:167)
... 50 common frames omitted
对象的定义如下:
class A {
private Links links
// getter/setter + other fields
}
class B {
private Links links
// getter/setter + other fields
}
class Links extends HashMap<String, List<Link>> {
}
class Link {
private String text;
}
我正在使用默认映射器,如下所示:
mapper.classMap(A.class, B.class)
.byDefault()
.register();
有什么建议可以继续吗?
最佳答案
你正在看到这个: https://code.google.com/archive/p/orika/issues/170
它说问题已在这里解决,但对我来说看起来不一样:https://github.com/orika-mapper/orika/issues/67
或者也许这就是您所看到的: https://github.com/orika-mapper/orika/issues/232
您的问题看起来与 code.google.com 上发布的问题相同
关于java - Orika 映射器 NPE 位于 2 个 map 之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50361016/