JAXBコンパイラによって生成された.javaファイルの属性の順序を制御したいと思います。JAXBコンパイラと属性の順序
XMLの検証では、属性の順序は重要ではないことがわかりました。回帰テスト環境で整列されたxmlのテキストによる比較には、この順序が重要です。ファイル内の属性の順序は、マーシャリングされたxmlタグの属性の順序に直接影響します。
JAXBコンパイラが実行されるたびに、属性グループはスキーマを変更しなくても異なる順序で表示されます。この動作を防止するために、コンパイラで使用できる明白なオプションはありません。
生成された.javaファイルの属性をアルファベット順に並べ替えるために、コンパイル後のスクリプトを実行しないようにしたいのですが、これは属性グループを分割するためです。
ご意見をいただければ幸いです。
おかげで、 デイブ
を使用することができます比較は、大きなbashスクリプトドリブン回帰テストの一部であり、我々は現在、XML応答のいずれかを解析されていません。私はXML差分ツールを使用することができましたが、私はそれらの経験がありません。私はSolaris環境で作業しています。この目的のためにコマンドラインから呼び出せるxml diffツールを提案できますか? また、特定の既知の違いが定数値で置き換えられているため、比較対象のファイルがスキーマに対して検証されないことがあります。 – daveg
さらに、xmlレスポンスではなく、.javaファイルの属性の並べ替えを検討していました。 .javaファイルの順序が整列されたレスポンスの属性の順序を直接制御するように見えるので、マーシャルがリフレクションを使用すると思います。 – daveg
私はあなたの2つのポイントに対処するために私の答えを編集しました。 –