我正在开发的一个Java程序遇到了一个问题,该程序使用由Mathworks JA构建器创建的jar文件。在这个Matlab程序中,它使用JAK为Google Earth创建一个KML文件。我在使用完整的Matlab ide的开发计算机上没有任何问题。然而,当接管到另一台只有MCR的机器上时,我得到了以下错误:
javax.xml.bind.PropertyException:名称: com.sun.xml.bind.namespacePrefixMapper值: de.micromata.opengis.kml.V_2_2_0.kml$NameSpaceBeautyfier@15cb235
在javax.xml.helpers.AbstractMarshallerImpl.setProperty(Unkown源)在com.sun.xml.internal.bind.V2.runtime.MarshallerImpl.setProperty(Unkown源)在de.micromata.opengis.kml.V_2_2_0.kml.marshal(kml.java:682)在de.micromata.opengis.kml.V_2_2_0.kml.createMarshaller(kml.java:642)
这是与类路径相关的东西吗?
谢谢你的帮助。
发布于 2012-03-05 22:17:31
两个系统上的JAXB库版本是否相同?看起来可能是版本冲突。在搜索你的错误时,我发现了这个页面:http://timepassguys.blogspot.com/2011/12/jaxb-exception-javaxxmlbindpropertyexce.html
也许这个解决方案是你可以尝试的?
发布于 2012-03-05 23:55:41
您使用的是JDK (com.sun.xml.internal.bind)中包含的JAXB实现,但是为Metro JAXB实现(com.sun.xml.bind)指定了属性。请注意,当Metro JAXB包含在JDK中时,它将经历包重命名。
选项
com.sun.xml.internal.bind.namespacePrefixMapper属性。有关详细信息的,请访问
https://stackoverflow.com/questions/9568054
复制相似问题