問題タブ [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.
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/*.java
src/main/java/com/..../types/enrollment/*.java
また、バインディング ファイルは(src/main/resources/schemas/schema-binding.xjb)
、servieoperations および types フォルダー内のすべての xsds に適用されます。
このプラグインを構成するためのより良い方法はありますか?教えてください。自分で修正できます。あなたがこのプラグインの作者だと思います。
ありがとうございます。それでは、お元気で
バシット・マフムード・アーメド
java - 同じ名前の simpleType での XJB および JAXB バインディング
jaxb と spring を使用して Java コードを生成しようとしていますが、名前が同じで名前空間が異なる 2 つの simpleTypes を持つ wsdl ファイルがあると、コードを動作させることができません。これを解決する方法を知っている人はいますか?
タグを試してみましたがjaxb:factoryMethod
、構文が正しくありません。しかし、おそらくもっと簡単な方法がありますか?
バインディング.xjb
エラーログ
java - 要素名とまったく同じメンバー変数名を持つクラスを xjc が生成するようにする
外部バインディングで、生成されたクラスのメンバー変数名が、スキーマ レベルで (つまり、グローバル バインディングではなく) 同じ大文字と小文字 (Java 規則ではなく) に従うように指定する方法はありますか?
スキーマにXYZPropertyという名前の要素があります。これには、 xyzPropertyではなく、 XYZProperty自体という名前の対応するメンバー変数が必要です。バインディング ファイルに次を追加しようとしましたが、機能しませんでした。
//xsd:complexType[@name='SomeType']/xsd:sequence/xsd:element[@name='XYZProperty']は、スキーマ内の要素への xpath です。