Плагин CXF maven генерирует классы в неправильном каталоге - PullRequest
3 голосов
/ 13 июля 2009

Я использую maven cxf-codegen-plugin для генерации файлов веб-сервиса java из wsdl. Плагин работает нормально, если я пытаюсь сгенерировать файлы в выходной директории по умолчанию (Целевая \ сгенерированные-источники \ CXF), но если я пытаюсь сгенерировать их в другом каталоге, используя:

<sourceRoot>src/main/myOtherDir</sourceRoot>

в моем pom.xml, файлы генерируются только , если я делаю:

mvn clean eclipse:eclipse

Если я делаю

mvn eclipse:eclipse 

без 'чистых' файлов не генерируется ...

У кого-нибудь есть идеи ...?

Мой пом:

        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>${cxf.version}</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <configuration>
                        <sourceRoot>src/main/myOtherDir</sourceRoot> 
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>src/main/resources/wsdl/AccountWS.wsdl</wsdl>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

Спасибо, Alon

Ответы [ 2 ]

3 голосов
/ 13 июля 2009

Вам лучше установить sourceRoot ниже целевого каталога, чтобы он очищался вместе с другим контентом, например ::10000

<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>

Чтобы плагин всегда работал, вам нужно привязать его к фазе, например

<executions>
  <execution>
    <id>generate-sources</id>
    <phase>process-resources</phase>
    ...
    <goals>
      <goal>wsdl2java</goal>
    </goals>
  </execution>
1 голос
/ 14 июля 2009

Ну, я нашел проблему, очень неловко ... Поскольку я не обновлял wsdl, плагин не генерировал файлы ...

Так или иначе, в документации apache cfx говорится, что: Для CXF 2.1.4 и более поздних вам больше не нужно указывать <phase>, так как generate-sources является значением по умолчанию.

Спасибо за вашу помощь

...