私はComplexTypesに対応する多くのJavaクラスを生成する既存のWSDLファイルを持つプロジェクトを持っています。これは何ヶ月もうまくいきましたが、それでもやっています。しかし、生成されたクラスに使用するパッケージを決定する方法を理解できません。xjcは、生成されたクラスに使用するパッケージをどのように決定しますか?
もう1つのWSDLを同様の目的で追加したいのですが、生成されるクラスはもちろん別のパッケージに入れられます。
すべてのXMLファイルで「package」を検索しました。私はすべてのファイルで既存の生成されたクラスのパッケージ名を検索しました(生成されたクラスを使用するソースファイル内でのみ検索します)。パッケージ名は、xjcプラグインと目的を指定するpom.xmlのどこにも表示されません。
私はそれを試しただけではうまくいくかもしれませんが、それがどのように動作するかを理解して、生成されたクラスを使用してワークスペースの一部を浪費するリスクを低減します。 XJC(またはMaven、または誰でも)がパッケージ名を取得する場所はどこですか?
具体的には、wsdlの「schema」タグでは、「targetNamespace」の値がパッケージ名に変換されます。名前空間のドメイン名部分はその要素が逆になり、値の他の部分は連結されます: "http://x.y.z/a/b"は "z.y.x.a.b"パッケージになります。 – arcy