首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Marshaller的Matlab中的Java/JAXB/JAK错误

使用Marshaller的Matlab中的Java/JAXB/JAK错误
EN

Stack Overflow用户
提问于 2012-03-05 22:11:46
回答 2查看 1.3K关注 0票数 1

我正在开发的一个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)

这是与类路径相关的东西吗?

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2012-03-05 22:17:31

两个系统上的JAXB库版本是否相同?看起来可能是版本冲突。在搜索你的错误时,我发现了这个页面:http://timepassguys.blogspot.com/2011/12/jaxb-exception-javaxxmlbindpropertyexce.html

也许这个解决方案是你可以尝试的?

票数 1
EN

Stack Overflow用户

发布于 2012-03-05 23:55:41

您使用的是JDK (com.sun.xml.internal.bind)中包含的JAXB实现,但是为Metro JAXB实现(com.sun.xml.bind)指定了属性。请注意,当Metro JAXB包含在JDK中时,它将经历包重命名。

选项

  1. 可以使用com.sun.xml.internal.bind.namespacePrefixMapper属性。
  2. 可以使用jaxb.properties文件来指定使用Metro JAXB implementation.

有关详细信息的,请访问

  • http://blog.bdoughan.com/2011/11/jaxb-and-namespace-prefixes.html
  • http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9568054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档