1

Mathworks JA ビルダーによって作成された jar ファイルを使用する、開発中の Java プログラムに問題があります。この 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 (未知のソース) で com.sun.xml.internal.bind.V2.runtime.MarshallerImpl.setProperty (未知のソース) で de.micromata.opengis.kml.V_2_2_0.kml.createMarshaller (kml.java:642) de.micromata.opengis.kml.V_2_2_0.kml.marshal(kml.java:682)

これはクラスパスに関連するものですか?

助けてくれてありがとう。

4

2 に答える 2

1

両方のシステムに同じバージョンの JAXB ライブラリーがありますか? バージョン管理の競合の可能性があるようです。あなたのエラーを検索すると、このページに出くわしました: http://timepassguys.blogspot.com/2011/12/jaxb-exception-javaxxmlbindpropertyexce.html

多分その解決策はあなたが試すことができるものですか?

于 2012-03-05T14:17:31.220 に答える
1

JDK に含まれている JAXB 実装を使用していますが ( com.sun.xml.internal.bind)、Metro JAXB 実装のプロパティを指定しています ( com.sun.xml.bind)。Metro JAXB が JDK に含まれる場合、パッケージの名前が変更されることに注意してください。

オプション

  1. プロパティを使用できcom.sun.xml.internal.bind.namespacePrefixMapperます。
  2. jaxb.properties ファイルを使用して、Metro JAXB 実装の使用を指定できます。

詳細については

于 2012-03-05T15:55:40.757 に答える