問題タブ [xjb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2208 参照

jaxb2 - maven-jaxb2-plugin を使用している場合、コンパイル全体で 1 つの globalBindings カスタマイズのみが許可されるというエラーが発生する

maven-jaxb2-plugin を使用しています。これが私のプラグイン構成です

ここに私のschema-binding.xmlファイルがあります

私は xsd を持っていEnrollments.xsdます。私は日付型を持っています。date または datetime 型の xsd は、XMLGregorianCalendar ではなく Localdate または Localdatetime に変換する必要があります。ここにスニペットがあります

ここで、POM を右クリックします。を選択するRun As -> Maven generate-sourcesと、次のエラーが表示されます

クラスは生成されていますが。ただし、型は依然として XMLGregorianCalendar です。

構成で何が間違っているのか、どうすれば解決できますか?

ありがとう

- - - - - - - - - - -編集 - - - - - - - - - - - -

このプラグイン構成は機能しています。

ここに私のschema-binding.xjbがあります

これは、serviceoperations および types ディレクトリのファイルの 1 つです。

EnrollmentServiceOperations.xsd:

CustomerServiceOperations.xsd:

タイプ/登録.xsd

タイプ/Customer.xsd

今私が走るときRun As -> Maven generate-sources。で serviceoperations ソースを生成しsrc/main/java/com/..../serviceoperation/customer/AddCustomerRequest.java、 でタイプ ソースを生成しsrc/main/java/com/.../types/customer/Customers.javaます。他の xsds についても同様です。

を使用してはならないのはなぜですか<generateDirectory>${basedir}/src/main/java/</generateDirectory>。これが私が欲しいものです。このプラグインは、各 xsd の targetnamespace からパッケージを作成していると思います。私は正しいですか?

このプラグインの構成で何か間違ったことをしている場合は、修正できるように教えてください。あなたがsrc/main/javaで生成しないと言ったように。

serviceoperations フォルダー内のすべての xsds が、フォルダー内に(src/main/resources/schemas/lmsapi/serviceoperation/*.xsd)生成されsrc/main/java/com/..../serviceoperation/customer/*.java、他のsrc/main/java/com/..../serviceoperation/enrollment/*.javaフォルダーと同じように生成されるようにします。

内のすべての xsds は、フォルダ内に(src/main/resources/schemas/lmsapi/types/*.xsd)生成され、他のものについても同じである必要があります。src/main/java/com/..../types/customer/*.javasrc/main/java/com/..../types/enrollment/*.java

また、バインディング ファイルは(src/main/resources/schemas/schema-binding.xjb)、servieoperations および types フォルダー内のすべての xsds に適用されます。

このプラグインを構成するためのより良い方法はありますか?教えてください。自分で修正できます。あなたがこのプラグインの作者だと思います。

ありがとうございます。それでは、お元気で

バシット・マフムード・アーメド

0 投票する
2 に答える
4879 参照

java - 同じ名前の simpleType での XJB および JAXB バインディング

jaxb と spring を使用して Java コードを生成しようとしていますが、名前が同じで名前空間が異なる 2 つの simpleTypes を持つ wsdl ファイルがあると、コードを動作させることができません。これを解決する方法を知っている人はいますか?

タグを試してみましたがjaxb:factoryMethod、構文が正しくありません。しかし、おそらくもっと簡単な方法がありますか?

バインディング.xjb

エラーログ

0 投票する
1 に答える
960 参照

java - 要素名とまったく同じメンバー変数名を持つクラスを xjc が生成するようにする

外部バインディングで、生成されたクラスのメンバー変数名が、スキーマ レベルで (つまり、グローバル バインディングではなく) 同じ大文字と小文字 (Java 規則ではなく) に従うように指定する方法はありますか?

スキーマにXYZPropertyという名前の要素があります。これには、 xyzPropertyではなく、 XYZProperty自体という名前の対応するメンバー変数が必要です。バインディング ファイルに次を追加しようとしましたが、機能しませんでした。

//xsd:complexType[@name='SomeType']/xsd:sequence/xsd:element[@name='XYZProperty']は、スキーマ内の要素への xpath です。