Генерация сериализуемого класса из xsd с использованием cxf-xj c -plugin - PullRequest
0 голосов
/ 24 января 2020

У меня есть xsd, который генерирует много POJO, но эти сгенерированные POJO не реализуют Serializable, и по какой-то причине мне нужно изменить это и сделать все POJO для реализации Serializable.

xsd выглядит следующим образом: -

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://x.x.x.x.x.x/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"  targetNamespace="http://x.x.x.x.x/" elementFormDefault="unqualified" attributeFormDefault="unqualified">

xsd:complexType name="AType">
    <xsd:sequence>
      <xsd:element name="A" type="AType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>

///
///

Codegen prof ie это pom, как показано ниже: -

<plugin>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-xjc-plugin</artifactId>
                        <version>3.3.0</version>
                        <configuration>
                            <extensions>
                                <extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:3.3.0</extension>
                            </extensions>
                        </configuration>
                        <executions>
                            <execution>
                                <id>generate-sources</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>xsdtojava</goal>
                                </goals>
                                <configuration>
                                    <sourceRoot>${basedir}/src/main/generated-source</sourceRoot>
                                    <xsdOptions>
                                        <xsdOption>
                                            <!-- When updating the XSD version ensure the Maven snapshot version
                                                above matches this so that when a maven release is done the released version
                                                will match the XSD. -->
                                            <xsd>${basedir}/src/main/resources/schema/some.xsd</xsd>
                                            <packagename>x.x.x.x</packagename>

                                        </xsdOption>
                                    </xsdOptions>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

Я новичок в этом и не знаю, как это сделать, также хотел знаете, есть ли способ, которым мы можем сделать все POJO для реализации Serializable одновременно, я имею в виду через какое-то глобальное объявление, которое связывается с каждым pojo, определенным в xsd?

...