私はmaven-jaxb2-pluginを使用してxsdからjaxbアノテーション付きクラスを生成します。類似の属性名を持つXSDからJAXBクラスを生成する
[ERROR] Error while parsing schema(s).Location [ file:schema1.xsd{10,16}]. org.xml.sax.SAXParseException: 'A3' is already defined
は、この問題を解決する方法はあります:私はそれは私にエラーを与えるプラグインMavenを実行すると
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="A3">
<xs:complexType>
<xs:sequence>
<xs:element name="loginPartner">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="login"/>
<xs:element type="xs:string" name="password"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="A3">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="errorCode"/>
<xs:element type="xs:string" name="errorDescription"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
:私はそれらのような多くのXSDファイルがありますか? 実際には、サーバーへの/からの要求/応答メッセージを表す多くのXSDがあります。私はメッセージの作成、検証、解析を簡単にしたい。多分これには別の解決策がありますか?
あなたのJAXBバインディングファイル内の第二またはあなたのXSDの最初のA3の名前を変更することができますか?私は 'maven-jaxb2-plugin'のドキュメントを見つけることができません。私は心からの選択肢のすべてを知りません。実現可能であれば、 'targetNamespace =" http:// whatever "属性をスキーマに追加して、同じ名前の型を区別してみてください。すべてのスキーマファイルを別のJavaパッケージにコンパイルすることは可能です。それも動作する可能性があります。これを動作させるには、プラグインのmultipe [executions](http://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_executions_Tag)を指定する必要があります。 –