コンテキスト:xaven-jaxbプラグインを使用してxsdファイルからJavaクラスを生成しています。すべての.xsdファイルはsrc/main/resourceディレクトリの単一の場所にあります。インポート名前空間 - (n) 'タイプ定義'コンポーネントに名前を解決できません
問題:xsdが別のターゲット名前空間を持つ他のxsdを参照/インポートしないと、すべてうまく動作します。しかし、以下のxsd(targetNamespace = "http://www.companyA.com/someservice")は別の名前空間(namespace = "http://www.companyB.com/")から別のxsd filename.xsdをインポートすると、上記のエラーが表示されます。名前xxxを(n) 'タイプ定義'コンポーネントに解決できません。
編集:現在のxsdファイルの要素名は「entityName」で、そのタイプは「companyB:entityName」(つまり、名前が同じです)です。
これで、コマンドラインからこのファイルに対してxjcを起動しようとしましたが、これによりJavaクラスが正しく生成されました。私はEclipseで、「type = "companyCdm:entityName"」のsourceをCtrl +クリック/調べることができることを確認しました。これはfilename.xsdファイルを正しく開きますが、何らかの理由でMavenがアクセスできない。
質問:??私は何をしないのですなぜ、この場合は、単一の名前空間を扱う異なる(2つの名前空間)である
ここでは私のXSDです:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.companyA.com/someservice"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:companyB="http://www.companyB.com/version"
targetNamespace="http://www.companyA.com/someservice"
elementFormDefault="qualified" attributeFormDefault="qualified">
<xsd:import namespace="http://www.companyB.com/version" schemaLocation="filename.xsd" />
<xsd:element name="MyName" type="MyType" />
<xsd:complexType name="MyType">
<xsd:annotation>
<xsd:documentation>
A list
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="entityName" type="companyB:entityName" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
私は私のメインのxsdを除いて同じエラーがディレクトリである私は、コマンドを実行し、XSDの私だそうです依存しているのはすでに他の(サブ)ディレクトリにあります。助言がありますか? – KingAndrew
この時点で、残念ながら、 –