"private final static long serialVersionUID" в сгенерированном JAXB классе - PullRequest
0 голосов
/ 05 июня 2018

Я использую 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>

1 Ответ

0 голосов
/ 05 июня 2018

С моей точки зрения, не совсем разумно проверять сгенерированный код .

Если SonarQube жалуется на private final static, но не private static final, просто проигнорируйте его.Это не имеет значения, особенно в сгенерированном коде.

Теперь, чтобы ответить на ваш вопрос - вы можете написать плагин XJC, который будет генерировать static final.Вот статья .Вы можете найти другие примеры в Основы JAXB2 .

Отказ от ответственности: Я являюсь автором Основы JAXB2 , который представляет собой пакет плагинов XJC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...