問題タブ [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.

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

maven - maxOccurs が 5000 を超えると jaxb2-maven-plugin が例外をスローする

レガシー xsd で jaxb2-maven-plugin を実行すると、次の例外がスローされます。

パーサーの現在の構成では、maxOccurs 属性値を 5,000 より大きく設定することはできません

このエラーをグーグルで検索すると、これがセキュリティ上の目的で jaxp に設定された制限であることがわかります。このようなコードで無効にすることができます

しかし、私はmavenでこれを行う必要があります。また、xjc には、この検証をオフにする -nv スイッチがあり、それが進むべき道のようです。xsd を変更できません。

jaxb2-maven-plugin で -nv スイッチを渡す構文は何ですか?

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

java - jaxb2-maven-plugin と JUnit4 の統合

一部のデータをマーシャリング/アンマーシャリングするために、単純な JUnit テストを実行しようとしています。

「データ」の定義は次のとおりです。

アプリケーションは正常に動作します (このオブジェクトを XML としてマーシャリング/アンマーシャリングできます)

しかし、テストを実行すると、次のエラーが発生します (テストのコードはアプリケーションのコードとまったく同じです)。

アプリケーションが機能するのにテストが機能しない理由がわかりません。Mavenで定義されたプラグインのスコープについて何かがあると思います。ここに私の pom.xml があります:

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

java - 新しいクラス名への複合型の JAXB バインディング

maven-jaxb2-plugin を介して、以下を新しいクラス名にマップしようとしています。

プロジェクト内の 2 つの XSD (異なる名前空間) に存在するこの要素があります。

このインスタンスを別のクラス名にマップして、コンパイルできるようにしたいと考えています。

私が持っている bindings.xjb は...

私が得るエラーはこれです...

内部要素 BusinessError を ResponseCommonData から削除すると、JAXB は処理を続行しますが、別の複合型クラスに関する同様のメッセージが表示されます。

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

maven - pom.xml 内から -D 引数を設定する一般的な方法はありますか?

tl;dr:-Dでは、システム プロパティの定義を移動して、pom.xmlファイル内に内部化する方法はありますか?


現在、ビルドが機能するように-Djavax.xml.accessExternalSchema=allコマンドラインから渡しています。プラグイン ( jaxb2-maven-pluginmvn clean install -Djavax.xml.accessExternalSchema=all 1.6)でオプションを渡すことができません。これは、使用しているバージョンがこれをサポートしておらず、サポートしているバージョンでは構成を完全に変更する必要があり、承認を得られないためです。

タグの下に追加することにより、他の場所で提案されている<properties>ように、タグを使用する値を設定しようとしています:<project>

しかし、コマンドラインで渡してもエラーは発生しませんが(以下に再現)、エラーが発生します。

0 投票する
0 に答える
156 参照

xml - SchemaGen で xsd を生成するときに jaxb2-maven-plugin を使用してスキーマのバージョンを設定する方法は?

これは私のプラグインです:

そして、これはルート要素です:

Maven を実行すると、次の xsd が生成されます。

それはうまく機能しますが、今はスキーマのバージョンを設定したいと思います:

どうやってやるの?

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

java - コンソールで問題を報告するための jaxb2-maven-plugin

Java クラスから XSD を生成するために jaxb2-maven-plugin (schemagen) を実行する Maven ベースのビルド スクリプトがあります。私は何か間違ったことをしましたが、それは生成されません。

プロジェクトは非常に複雑で、コンソールで正確なコマンド ラインを再作成することは困難です。

私の.pomファイルには、

コンソールでエラーの原因を表示するために schemagen / plugin をコマンドするために使用できるオプションは何ですか?

0 投票する
0 に答える
495 参照

java - JAXB2 が、タイプが重複する 2 つの WSDL からソースを生成できない

JAXB2 2.2 を使用して WSDL ファイルからソースを生成しようとしています。WSDL ファイルはサードパーティから提供され、その WSDL に固有のタイプに加えて、同じ共通のタイプをすべて定義しています。ソース フォルダーに WSDL が 1 つしかない場合 (A.wsdl と呼びましょう)、すべてがうまく機能し、生成されたソースは次のようになります。

A.java
X.java
Y.java

出力ディレクトリをクリアして B.wsdl のみで生成すると、

B.java
X.java
Y.java

両方の WSDL をソースに入れて取得できるようにしたい

A.java
B.java
X.java
Y.java

wsdl X と Y がどちらから来ているかは気にしません。それらはすべて同一です。現在、JAXB2 は何もスローorg.xml.sax.SAXParseException: 'X' is already definedして生成しません。ヘルプ出力を調べましたが、役立つと思われる構成オプションが見つかりませんでした。

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

java - 重複するクラス エントリを持つ複数の xsd スキーマを使用してクラスを生成する

複数の/共通の重複する xs:element / class エントリを含む複数の xsd スキーマ ファイルがあります。pom.xml の次の行を使用してクラスに変換してみました

executionタグを1 つだけ使用して実行しているときに、クラスを正常に取得しています。しかし、2 つ以上のスキーマまたはexecutionタグを含めると、最後のスキーマ「schema2」に対して作成されたクラスしか表示されず、「schema1」に対して作成されたクラスは表示されません。

コマンド ライン ログで実行すると、両方のスキーマに対してクラスが生成されていることがわかります。しかし、その結果、古いパッケージが削除され、再作成されます。基本的に、最後のスキーマのみのクラスしかなく、他のスキーマのクラスはありません。

どうすれば解決できますか?

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

java - JAXB schemagen がエピソード ファイルのクラスを参照しない

私は実際にはスキーマファーストのアプローチを使用していますが、「不吉な」JAXBマップの問題で障害にぶつかりました! これをコードファーストのアプローチに切り替えることで回避しました。ここで、このタイプを他のモジュールで再利用し、生成されたスキーマからエピソード ファイルを作成することで、スキーマ ファーストのアプローチを継続したいと考えています。残念ながら、生成されたエピソード ファイルは空です。これが私が試したものです:

これにより、次のスキーマが生成されました。

そして、このコンテンツを含むエピソード ファイル:

同様の結果で schemagen スタンドアロン (バージョン 2.2.11) を使用しようとしました。https://jaxb.java.net/2.2.4/docs/schemagen.htmlおよびhttp://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/schemagen-mojo.htmlのドキュメントこれがそれであることを示す縫い目ですが、何が間違っているのかわかりません。