我有以下需要映射的bean,都有一个java.io.File
字段:
class CvPDFRespBO {
private String rutPersona;
private File cvPDF;
getter()...setter()
}
public class CvPdfSVSResp{
private String rutPersona;
private File cvPDF;
getter()...setter()
}
但地图给了我以下错误:
11:01:33,208 ERROR [org.dozer.MappingProcessor] (http--0.0.0.0-8085-1) Field mapping error -->
MapId: null
Type: null
Source parent class: package.CvPDFRespBO
Source field name: cvPDF
Source field type: class java.io.File
Source field value: /var/folders/g0/yvljc75d2vl9bvs57vd4_2qr0000gq/T/2003JC4E5C928C429A8E48541.pdf
Dest parent class: package.svs.CvPdfSVSResp
Dest field name: cvPDF
Dest field type: java.io.File: org.dozer.MappingException: java.lang.NoSuchMethodException: java.io.File.<init>()
任何提示?感谢。
答案 0 :(得分:2)
我怀疑dozer正在尝试将File对象映射到一个新的文件实例,然后传输字段,但是File没有no-arg构造函数,而且它有点混乱。
我建议创建一个自定义转换器并使用它来映射File对象。
http://dozer.sourceforge.net/documentation/customconverter.html