Делая классы модели данных сериализуемыми - PullRequest
2 голосов
/ 04 октября 2011

Я использую JiBX для привязки данных XML-Java.Текущая конфигурация генерирует классы довольно хорошо, но я хочу, чтобы эти сгенерированные классы реализовали java.io.Serializable.

Вот конфигурация плагина maven для генерации классов Java из заданной схемы.

<plugin>
    <groupId>org.jibx</groupId>
    <artifactId>jibx-maven-plugin</artifactId>
    <version>1.2.3</version>
    <configuration>
        <schemaLocation>src/main/resources</schemaLocation>            
        <includeSchemas>
            <includeSchema>FS_OTA_VehResRS.xsd</includeSchema>
        </includeSchemas>
        <options>
            <package>com.test.cars.model.ota2009a.vehresrs</package>
        </options>
        <schemaBindingDirectory>src/main/java</schemaBindingDirectory>
        <includeSchemaBindings>
            <includeSchemaBinding>*_binding.xml</includeSchemaBinding>
        </includeSchemaBindings>
    </configuration>
    <executions>            
        <execution>
        <id>generate-java-code-from-schema</id>
        <goals>
            <goal>schema-codegen</goal>
        </goals>
        </execution>
        <execution>
        <id>compile-the-binding-</id>
        <goals>
            <goal>bind</goal>
        </goals>
        </execution>            
    </executions>
</plugin>

Эта ссылка предлагает использовать org.jibx.schema.codegen.extend.SerializableDecorator для реализации java.io.Serializableдля всех сгенерированных классов.Но я не знаю, как написать файл настройки и настроить jibx-maven-plugin.

Может кто-нибудь подсказать мне, как этого добиться?

1 Ответ

3 голосов
/ 04 октября 2011

Я могу получить это.

Я создал src / main / resources / schema-customizations.xml. Содержимое этого пользовательского файла конфигурации:

<schema-set xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <class-decorator class="org.jibx.schema.codegen.extend.SerializableDecorator"/>
</schema-set>

Также изменен pom.xml для добавления в конфигурацию настройки в <configuration>

<customizations>
    <customization>src/main/resources/schema-customizations.xml</customization>
</customizations>

и запустить mvn jibx:schema-codegen

Теперь все сгенерированные классы реализуют java.io.Serializable

Спасибо @ SB

...