Может ли ApacheCXF генерировать полные конструкторы при использовании cxf-codegen-plugin для Maven? - PullRequest
7 голосов
/ 30 марта 2011

Я генерирую сервер / клиент из моих wsdl / xsd, используя cxf-codegen-plugin для Maven.Все созданные типы имеют конструкторы no-arg по умолчанию, что затрудняет их работу.

Есть ли способ заставить Apache CXF генерировать полный конструктор, а все члены класса в качестве аргументов

1 Ответ

6 голосов
/ 21 августа 2012

Этот плагин - просто модная оболочка для xjc.

Есть два плагина xjc, которые решают вашу проблемную область:

Вам нужнодобавьте необходимые зависимости, а затем настройте плагин для включения этих плагинов в xjc, например,

<plugin>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-codegen-plugin</artifactId>
  <configuration>
    <defaultOptions>
      <extraargs>
        <extraarg>-xjc-Xvalue-constructor</extraarg>
      </extraargs>
    </defaultOptions>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>org.jvnet.jaxb2_commons</groupId>
      <artifactId>jaxb2-value-constructor</artifactId>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.jaxb2_commons</groupId>
      <artifactId>jaxb2-basics</artifactId>
      <version>0.6.4</version>
    </dependency>
  </dependencies>
</plugin>

Примечание. Приведенное выше делает этот параметр по умолчанию для всех выполнений, если вы хотите включить эти параметры только для конкретного выполнения, а затем просто добавьте бит <configuration> в это конкретное выполнение.

...