問題タブ [jaxb2-maven-plugin]
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.
maven - maven-jaxb2-plugin が失敗し、JAXB バージョン属性が存在する必要があります
の次の構成がありますmaven-jaxb2-plugin
。
そしてそれは失敗しています:
org.xml.sax.SAXParseException; systemId: ファイル:/home/hasancansaral/workspace/company/domain/src/main/xsd/delivery.wsdl; 行番号: 2; 列番号: 366; JAXB バージョン属性が存在する必要があります
IntelliJ IDEA を介してプラグインを実行しても、単純な .xml を実行しても違いはありませんmvn clean jax2b:generate
。ただし、アクションはここにあるスキーマで成功しているため、wsdl スキーマが実際には不正な形式であると思われます。現時点では公開できませんが、メッセージを介して提供できます (あまり役に立たないことはわかっています)。そのまま公開しますが、問題がスキーマにある場合は、関連する問題のある部分をここに投稿します)。
注: SOAP UI はスキーマも検証します。
注 2:jax2b-maven-plugin
と の両方に
同じエラーが存在しmaven-jax2b-plugin
ます。
java - JAXB2 は、オプション属性のプリミティブ型を使用してゲッター/セッターを生成します
jaxb2 を使用して、一部の外部データの xml スキーマ定義から Java コードを生成しています。このプロジェクトはかなり古く、maven-jaxb-plugin 1.1.1 を使用していました。jaxb2 も使用する jaxb2-maven-plugin に更新したいのですが、生成されたコードにいくつかの違いが見つかりました。具体的には、次の形式の属性があります。
Integer
生成されたコードのフィールドにマップされます。
ただし、jaxb2 は、null 許容型ではなくプリミティブ型でゲッターとセッターを生成します。
ただし、現在のコードではgetNum
、 が null 許容のボックス化された型を返すことを前提としており、null ポインター例外で失敗する単体テストでこれをテストしています。
オプションの属性に null 許容型のゲッター/セッターを生成する方法はありますか? xsd ファイルは外部ベンダーから提供されているため、変更したくありません。optionalProperty
には設定しない<globalBindings>
ので、値はデフォルトですwrapper
。