1

実行時に一連の XSD ファイルを Java ソース POJO に変換しようとしています。これらの XML スキーマは、いくつかのプロトコル固有のモデル定義に基づいて生成されます。

JAXB の XJC を使用して、スキーマを pojo にコンパイルしました。カスタム注釈を行うためにJaxb2-annotate-pluginを使用したときに問題に直面し始めました。

テストのために、スキーマに以下を追加しました。

<xs:schema xmlns:aa="http://acme.example.com/system" 
           xmlns:another="http://acme.example.com/another" 
           xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
           xmlns:ncn="urn:ietf:params:xml:ns:netconf:notification:1.0" 
           jaxb:extensionBindingPrefixes="annox" 
           xmlns:annox="http://annox.dev.java.net"  
           targetNamespace="http://acme.example.com/system" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema">

XJC はその後、次のエラーを出し始めました。

サポートされていないバインディング名前空間 " http://annox.dev.java.net ". おそらく、「 http://java.sun.com/xml/ns/jaxb/xjc 」という意味ですか?

さまざまなソースで提供されている提案に従って、次のように XJC のクラスパスに必要な JARS を追加しましたが、何もうまくいかないようです。

xjc -p com.test -classpath="jaxb2-basics-annotate-1.0.2.jar;tools-0.4.1.5.jar;comm‌s-logging-1.1.1.jar;jaxb2-basics-runtime- 0.9.5;annox-1.0.1.ja‌r;javaparser-1.0.11.jar;jaxb2-basics-tools-0.9.5.jar" -extension myschema.xsd

jaxb2-annotate-plugin で XJC を使用して Java ソースを生成するための適切な例が見つかりませんでした。実行時に xsd と pojo を生成する必要があると述べたように、これを maven/ant に追加することはできません。

XJC ツールを Java プロセスとして使用することが唯一の方法である場合は、お知らせください。

  • クラスパスに含まれる依存 jar は何ですか?
  • プラグインと -Xannotate スイッチを有効にする方法は?

このプラグインを使用して pojo の生成を他の方法で実行できる場合は、同じことを提案してください。

私はjaxbの初心者です。どんな提案も本当に役に立ちます。前もって感謝します!

4

1 に答える 1