3

JAXBContext.newInstance()メソッドはMapプロパティをパラメーターとして受け取ります。

JAXBContextxml-mappings を使用して複数のファイルについてインスタンスに通知するには、どのプロパティとどのように指定すればよいですか?

は、実際のシステムでは受け入れられない方法で (つまり を使用してnew File(address)) 1 つのファイルのみを指定する方法を示しています。これの代わりに、classLoader.getResource()which returnsURLオブジェクトを使用する必要があります。

ありがとう!

更新:

JAXBContext をインスタンス化しようとすると、次の例外が発生します。

javax.xml.bind.JAXBException: property "eclipselink-oxm-xml" is not supported
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:118)
    ...

jaxb.properties起動時にファイルが見つからないことは明らかです。どこに置けばいいですか?(私はmavenを使用していますが、実際には、に配置しようとしまし/target/jaxb.properties/target/classes/jaxb.properties-xml /target/classes/META-INF/definitions/jaxb.properties-mappingファイル/target/classes/com/myproject/experiment/jaxb.propertiesの近くにあり、-JAXBContextをインスタンス化しようとするクラスの近くにあります)。

4

1 に答える 1

2

E clipeLink JAXB(MOXy)外部バインディングファイルは、次のいずれかの形式(またはリスト)にすることができます。

  • java.io.File
  • java.io.InputStream
  • java.io.Reader
  • java.net.URL
  • javax.xml.stream.XMLEventReader
  • javax.xml.stream.XMLStreamReader
  • javax.xml.transform.Source
  • org.w3c.dom.Node
  • org.xml.sax.InputSource

MOXyをJAXBプロバイダーとして使用するには、次のエントリを使用して、モデルクラスにjaxb.propertiesという名前のファイルも含める必要があります。

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
于 2011-03-11T15:05:24.883 に答える