実行時に一連の 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;comms-logging-1.1.1.jar;jaxb2-basics-runtime- 0.9.5;annox-1.0.1.jar;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の初心者です。どんな提案も本当に役に立ちます。前もって感謝します!