Я использую globalBindings в JAXB для генерации Serializable классов.
<jaxb:globalBindings>
<xjc:simple />
<xjc:serializable uid="1" />
</jaxb:globalBindings>
Атрибут uid генерируется в классах java следующим образом:
private final static long serialVersionUID = 1L;
Я понимаю, что "finalstatic "и" static final "одинаковы, и сгенерированные сериализуемые классы также могут быть скомпилированы.Но мы получаем ошибку от SonarQube при использовании «final static» вместо «static final».
В настоящее время мы вручную изменяем атрибут на «static final», чтобы обойти проблему SonarQube.Но кто-нибудь может подсказать, можно ли вместо этого иметь JAXB для генерации «статического финала»?
Мы используем JAXB2, и это pom.xml.
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.3.1</version>
<dependencies>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
<execution>
<id>someID</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<sources>
<source>${project.basedir}/src/main/resources/some.xsd</source>
</sources>
<xjbSources>
<xjbSource>src/main/resources/some.xjb</xjbSource>
</xjbSources>
</configuration>
</execution>