有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在开发一个Java程序,该程序使用Mathworks JA builder创建的jar文件,我遇到了一个问题。在这个Matlab程序中,它使用JAK为Google Earth创建一个KML文件。我在使用完整的MatlabIDE开发计算机方面没有问题。但是,当移交给另一台只有MCR的机器时,我会出现以下错误:

javax。xml。绑定PropertyException:名称:com。太阳xml。绑定namespacePrefixMapper值:de.micromata。opengis。kml。V_2_2_0。kml$NameSpaceBeautyfier@15cb235

在javax。xml。帮手。马歇尔·雷普勒。setProperty(未知源) 在com。太阳xml。内部的绑定V2。运行时。马歇尔雷普。setProperty(未知源) 在de.micromata。opengis。kml。V_2_2_0。kml。createMarshaller(kml.java:642) 在de.micromata。opengis。kml。V_2_2_0。kml。封送员(kml.java:682)

这是否与类路径相关

谢谢你的帮助


共 (2) 个答案

  1. # 1 楼答案

    您正在使用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。属性文件来指定Metro JAXB实现的使用

    了解更多信息