Java 在读取时接收数据<;映射>;来自dozer-mapping.xml

Java 在读取时接收数据<;映射>;来自dozer-mapping.xml,java,dozer,Java,Dozer,我试图在我的项目中实施推土机。我得到了SAX异常。亲民党,详情为何? org.dozer.MappingException:org.xml.sax.SAXException:解析错误 第4行 URI:null 消息:cvc elt.1:找不到元素“映射”的声明。 位于org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:82) 位于org.dozer.loader.xml.MappingStreamReader.r

我试图在我的项目中实施推土机。我得到了SAX异常。亲民党,详情为何?

org.dozer.MappingException:org.xml.sax.SAXException:解析错误 第4行 URI:null 消息:cvc elt.1:找不到元素“映射”的声明。 位于org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:82) 位于org.dozer.loader.xml.MappingStreamReader.read(MappingStreamReader.java:55) 位于org.dozer.loader.xml.MappingFileReader.read(MappingFileReader.java:58) 位于org.dozer.DozerBeanMapper.loadFromFiles(DozerBeanMapper.java:227) 位于org.dozer.DozerBeanMapper.loadCustomMappings(DozerBeanMapper.java:209) 位于org.dozer.DozerBeanMapper.initMappings(DozerBeanMapper.java:315) 位于org.dozer.DozerBeanMapper.getMappingProcessor(DozerBeanMapper.java:192) 位于org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:120)

My dozer-mapping.xml

<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns:ns="http://dozer.sourceforge.net"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://dozer.sourceforge.net 
           http://dozer.sourceforge.net/schema/beanmapping.xsd">
  <mapping>
<class-a>org.esb.ClassA</class-a>
<class-b>org.esb.ClassB</class-b>
<field>
    <a>status</a>
    <b>statusCode</b>
</field>
 </mapping>
</mappings>
使用的罐子:


Dozer 5.4.0.jar,commons-beanutils-1.8.3.jar,commons-lang-2.6.jar,jcl-over-slf4j-1.6.6.jar,log4j-1.2.15.jar,slf4j-api-1.6.6.jar,slf4j-log4j12-1.6.6.jar

,因为这个
xmlns:ns=”http://dozer.sourceforge.net“
该模式仅适用于
ns
命名空间中的xml


相反,您应该编写
xmlns=”http://dozer.sourceforge.net“
如中所述。

我不熟悉dozer,但我发现您的XML中有错误:您正在声明命名空间“”(根据XSD)将其绑定到前缀“ns”。但你从来不使用它!我想,你想做“…”。和您一样,您的元素没有名称空间,因此错误消息是正确的。
destinationObj= dozerBeanMapper.map(sourceObj, DestinationClass.class);