Я новичок в плагине Jaxb для генерации моделей. У меня есть 2 xsd файла, где один xsd ссылается на тип в другом xsd
common.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://www.example.com/schemas/common"
version="1.0" xmlns="http://www.example.com/schemas/common"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="person">
<xsd:sequence>
<xsd:element minOccurs="1" name="gender" type="xsd:string"/>
<xsd:element minOccurs="1" name="dateOfBirth" type="xsd:string"/>
<xsd:element minOccurs="1" name="name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
pupil.xsd , это относится к человеку, определенному в common.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://www.example.com/schemas/pupil" version="1.0"
xmlns:common="http://www.example.com/schemas/common"
xmlns="http://www.example.com/schemas/pupil" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.example.com/schemas/common" schemaLocation="http://www.example.com/domain/schemas/common/common.xsd"/>
<xsd:complexType name="student">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="class" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="generralInfo" type="common:person"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
catalog.cat , попробуйте использовать функцию эпизода плагина
REWRITE_SYSTEM
"http://www.example.com/domain/schemas/common/common.xsd"". "
pom.xml , это моя конфигурация сборки maven
<build>
<defaultGoal>test</defaultGoal>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<configuration>
<extension>true</extension>
<catalog>src/main/resources/catalog.cat</catalog>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
пока я бегу mvn clean install
, я получаю
Error
[ОШИБКА] Ошибка при разборе схемы (схем). Расположение [
http://www.example.com/domain/schemas/common/common.xsd{XXX,XX}].
org.xml.sax.SAXParseException; SYSTEMID:
http://www.example.com/domain/schemas/common/common.xsd; номер строки:
XXX; номер столбца: XXX; «человек» уже определен
Я пытался устранить эту ошибку, используя различные опции, упомянутые здесь , но это мне помогло. Я думаю, что я делаю что-то не так в конфигурации привязки или конфигурации pom
Может кто-нибудь указать, что здесь не так