Я генерирую Java-классы из схемы XSD.Я использую JAXB 2.2.7 с maven.
в pom.xml, у меня есть профиль, и я использую его, когда XSD меняется.Действие build переписать все классы Java с нуля.Это профиль pom:
<profile>
<id>CreateClasses</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaDirectory>${basedir}/src/main/resources/documentazione</schemaDirectory>
<packageName>com.bsssrl.datafatturapa</packageName>
<outputDirectory>${basedir}/src/main/java</outputDirectory>
<clearOutputDir>true</clearOutputDir>
<addGeneratedAnnotation>true</addGeneratedAnnotation>
<locale>it</locale>
<properties>
<property>
<name>javax.xml.XMLConstants.ACCESS_EXTERNAL_SCHEMA</name>
<value>http,file</value>
</property>
</properties>
<sources>
<source>${basedir}/src/main/resources/documentazione/fatturapa_v1.2.xsd</source>
</sources>
</configuration>
</plugin>
</plugins>
</build>
</profile>
Вся система работает хорошо.
Проблема: Я добавляю некоторые аннотации и некоторые методы к сгенерированным классам, например, некоторые валидаторы и аннотации для GUI.Если я запускаю сборку с профилем CreateClasses , потому что в схеме есть некоторые обновления, я теряю все изменения.
Вопрос 1: существует ли способ установить определенный класс Java какзаблокирован, чтобы система не регенерировала эти классы?
Вопрос 2: существует ли способ обновить класс, а не воссоздать его с пустого места?Предположим, у меня 20 свойств, теперь к схеме добавлен 21-й, я не хочу терять редактирование неизменных свойств.