問題タブ [annox]
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.
java - 「http://annox.dev.java.net」のカスタマイズには「-Xannotate」スイッチが必要です
hyperjaxb を介して実際のスキーマを実行しようとしています。jaxb を使用してスキーマを繰り返しテストしましたが、jaxb は毎回スキーマを正しくインポートします。ただし、hyperjaxb で同じスキーマから hibernate アノテーション付きの Java クラスを生成しようとすると、次のエラーが発生します。
このエラー メッセージをグーグルで検索し、それに関する他の投稿を読みましたが、問題を解決する明確な手順は見つかりませんでした。私が見つけた最も近いものは、 annox プラグインis activated by the -Xannotate command-line argument
.
このリンクを読みましたが、xsd ファイルに次を追加してもエラーは解消されxsd
ませんでしたjaxb
。
問題をすばやく再現するために、関連するすべての資料を含む zip ファイルをこのリンクにアップロードしました。目的のスキーマを含むプロジェクトの zip ファイルです。問題を再現するには、コマンド ラインで解凍したプロジェクトのルート ディレクトリに移動しmvn clean install
、エラーを再現するように入力するだけです。
このエラーを解決するにはどうすればよいですか?
編集:
pom.xml のプラグイン構成に以下を追加して実験しましたが、これまでのところ成功していません。
2番目の編集:
@lexicore の提案を に追加しましたpom.xml
が、結果は であり、このリンクをクリックしてnull pointer exception
読むことができます。他の人がより簡単に使用できるようにするために、このリンクに完全な電流を含めています。この改訂版と上記の zip ファイルを合わせれば、数分で問題を再現できます。これは設定の問題ですか、それともバグですか?hyperjaxb
pom.xml
pom.xml
jaxb - JAXB スキーマから Java への異なる XmlRootElement 名とクラス名
私はいくつかのJavaクラスを生成しているxsdスキーマを持っています。生成にはjaxbを使用しています。
で注釈が付けられたクラスを生成できるようにし@XmlRootElement
たいのですが、 @XmlRootElement name プロパティを、生成されたクラスの名前とは異なるものにしたいと考えています。
私の xsd では、次のように定義しています。
このコードは、次の Java クラスを生成します。
の name プロパティは@XmlRootElement
、生成されたクラスの名前と同じです。生成されるクラス名をCustomerReques
t にしたい。
jaxb:class
クラス名を変更するために定義を使用しようとしました。実際、このオプションはクラス名を変更しますが、@XmlRootElement
注釈を削除します。存在する必要があります。
次の xsd:
このクラスを生成します:
@XmlRootElement
注釈を失うことなく、生成されたクラス名とは異なる注釈のプロパティ名を作成するにはどうすればよいですか?
解決策の更新: ユーザー Xstian は、外部バインディングを使用して正しい解決策を提案しました。さらに参考までに、インライン バインディングを使用するために変換されたソリューションで、自分の投稿を更新します。
json - annox プラグインを使用して @JsonSerialize に include=JsonSerialize.Inclusion.NON_NULL を追加する方法
maven プラグイン maven-jaxb2-plugin を使用して、xsd から JAXB オブジェクトを生成しています。以下は私たちが持っている依存関係です
jaxb2-basics - 0.6.2
jaxb2-basics-annotate - 0.6.2
Maven ファイルには、-Xannotate と -XtoString も含めました。
バインディング ファイルは次のとおりです。
これにより、@JsonSerialize(using=JsonDateSerializer.class) が追加されました。しかし、include=JsonSerialize.Inclusion.NON_NULL を追加するために以下のようないくつかのオプションを試しましたが、うまくいきませんでした
ただし、いずれの場合も ValueParseException が発生します。では、JsonSerialize の include()、typing() などのパラメーターをアノテーションに追加する正しい方法は何ですか。
また、 JAXB/XJC によって XSD から生成された POJO に Jackson アノテーションを追加する方法に基づいていますか? 私も試しました
これも、注釈に include 部分を追加しませんでした。
java - jaxb2-maven-plugin で jaxb:class と annox:annotate を一緒に使用しますか?
で使用するjxb:class
とannox:annotate
、次の例外が発生します。
私はこの構成を使用しました:
java - pom に注釈プラグインを追加する
プロジェクトに追加できません。github リポジトリから構成をコピーしました。他に何をすべきか知っている人はいますか?
更新:「groupId」を編集して「バージョン」(A_Di-Matteo) を追加した後、新しい例外が発生します
例外:
java - annox(https://github.com/highsource/annox) は、JAXB を使用したマーシャリング/アンマーシャリング中にネストされたコレクション オブジェクトをサポートしますか?
一部の xyz クラスのように Collection オブジェクト クラス メンバーがある場合ArrayList<ArrayList<Employee>>
、この xyz クラス オブジェクトをマーシャリングする方法を教えてください。
2D、3D 配列と同様。
annox ( https://github.com/highsource/annox ) はサポートしていますか?
EmployeeList
のようなメンバー変数を持つようなラッパークラスList<Employee>
と、その上のメンバー変数ListOfEmployeeList
を持つようなラッパーを持つことは必須List<EmployeeList>
ですか?
または、XML の anyElement に関連または同等ですか。