問題タブ [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.
jaxb - 生成された XML - 名前空間のプレフィックス
現在、多数のスキーマ ファイル (.xsd) から Java クラスを作成しています。結果のクラスは機能しています (jaxb2-maven-plugin によって生成されます)。しかし今、オブジェクト構造から XML を生成しようとしています。最初のことは、JAXB コンテキストの作成中に使用可能なすべての名前空間を指定する必要がある理由を完全に理解していないことです。
マーシャラーを介して XML ドキュメントを生成できますが、問題は次のとおりです。
私はこのようなものを生成したいと思います:
質問は: JAXB のプロパティを介して達成可能ですか? さらに、どのタグでxmlns
要素が作成されるかどうかに影響を与えることは可能ですか?
java - xjc は、生成されたフィールドに @XmlElement(nillable=false) を追加しません
xjc を使用してクラスを生成する際に問題があります。スキーマには nillable="false" がありますが、これは生成されたフィールドに注釈 (@XmlElement(nillable=false)) として追加されません。これにより、Jackson はフィールドが空のときにフィールドを削除しません。nillable=true に変更すると、期待どおりにそれを反映するようにクラスが更新されます...
何か案は?
java - JAXB で @XmlRootElement を文字列にマーシャリングしない
JAXB
生成された 1 つのオブジェクトをにマーシャリングする必要がありますString
。@XmlRootElement
問題は、注釈がないことです。ルート要素ではありません。の要素はXSD
次のようになります。
tns
プレフィックスはこの名前空間を指します: xmlns:tns="http://www.cubiksonline.com/2009/08/AssessmentProvider"
XML
ルート要素ではないマーシャリングを行うためにこれを行うことができることがわかりましたJAXB
:
JAXB
次のようにコンテキストを初期化しています。
このパッケージ:com.cubiksonline._2009._08.assessmentprovider
は、 および を含むすべてのJAXB
生成されたクラスがあるパッケージCompletedAssessmentInstance
です。問題は、marshaller.marshal(rootElement, writer);
が呼び出されたときに次の例外が発生することです。
誰がどこに問題があるのか 知っていますか?
jaxb - JAXB が XBRL 用の Java クラスの生成に失敗する
XBRL で定義された型の Java クラスを生成しようとしています。
私のビルド プロセスは Maven 2 に基づいています。build
一部のプロパティに依存するセクションのみを貼り付けます。
package
私のターゲットパッケージの名前です
catalog
カタログのパスとファイル名です。私はインターネットに接続していないので、たくさんのエントリがありますが、それらは常に必要だと思います
xsd.path
XSDが存在するディレクトリです
xsd.file
次のミニマリスト XSD のファイル名です
私が試したすべてのプラグインはインポートに失敗しxl:nonEmptyURI
ます。
しかし、 (私のカタログにある)に xl
マッピングされ、どのインポートが定義 されていますかhttp://www.xbrl.org/2003/XLink
<import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink-2003-12-31.xsd"/>
nonEmptyURI
どうしたの?どうすれば修正できますか?
アパッチ CXF
で失敗する
jvnet maven-jaxb2-プラグイン
エラーは同じですが、もう少し詳細です
Mojo jaxb2-maven-plugin
同じエラー、Xerces による別の言い方
java - 個々のxsd要素でjaxbバインディングを使用することはできません
私はjaxbを使用してxsdファイルからJavaソースコードを生成しています。
ソースが生成されるパッケージを要素ごとに指定できるようにしたいのですが、ソースを生成するたびに次のエラーが発生します。
私のバインディングファイルcommon.xjbは、名前(属性値)'api'の要素をパッケージ'com.myxml.common.api'に配置しようとしています。
私のxsdファイルcommon.xsdは次のとおりです。
そして、私は次のMavenプラグインを使用してすべてを実行しています。
なぜこのエラーが発生するのですか?どうすれば解決できますか?この段階では、私が知っている他のバインディングは使用されていません。
xsd - schemagen.exe は、順序が決まっていない xsd スキーマを生成します。
org.codehaus.mojo jaxb2-maven-plugin を使用して、クラスの xsd スキーマを生成しました。プラグイン サイト http://mojo.codehaus.org/jaxb2-maven-plugin/faq.htmlは、プラグインが JDK ユーティリティ schemagen.exe を使用して生成を行うことを伝えます。 問題は、生成された xsd の順序が決定されず、プラグインを実行するマシンに依存することです。
そして生成されたスキーム:
しかし、私の同僚が生成を実行すると、別の注文が発生します。
を使用しております
- JDK1.6.0_26
- jaxb2-maven-plugin 1.3
- jaxb-impl バージョン 2.1.12 (プラグインで使用)
この順序を制御する方法はありますか?
java - Mavenプラグインを使用してxsdから生成されたJAXBクラスはありません
jaxb2-maven-pluginを使用してxsdから生成されたjaxbクラスを表示できません
そして私はcleaninstallgenerate:generateを与えることによって私のpomを実行しましたそれは正しい方法ですか?jaxbクラスを生成する方法を提案してください
私もmvngenerate-sourcesで実行しようとしましたが何も生成されていません
java - Maven を使用して Jaxb クラスを生成しているときにパッケージが削除され、生成された maven パッケージ名が正しくない
jaxb2-maven-plugin を使用して、XSD から Jaxb クラスを生成しようとしました。
パッケージ内の jaxb クラスを取得できますが、他のパッケージが削除されています。これの理由は何ですか?これをどうやって乗り越える?提案をお願いします。
以下は私が試したものです
および xsd は次のようになります。
targetNamespace="com.test.jaxb.model" を指定しましたが、生成後、パッケージ名: model.jaxb.test.com. の下にある jaxb クラスしか表示できません。
パッケージ名が逆になり、他のパッケージが削除されるのはなぜですか?
jaxb2-maven-plugin - 取得エラー: 目標 org.codehaus.mojo:jaxb2-maven-plugin:1.5:schemagen のパラメーター 'includes' が見つからないか無効です
以下は、org.codehaus.mojo:jaxb2-maven-plugin:1.5 schemagen プラグインを組み込む方法です。
この例外が発生しています: