Maven: Как обрабатывать сгенерированные источники для тестирования (только)? - PullRequest
10 голосов
/ 21 декабря 2011

Обычно генерируемые источники должны создаваться в целевой директории. Но как мне обрабатывать классы, которые используются только для тестирования? Я не хочу, чтобы эти классы были упакованы в мою банку. Есть ли общий способ справиться с этой ситуацией?

1 Ответ

20 голосов
/ 21 декабря 2011

Использование цели add-test-source подключаемого модуля вспомогательного модуля сборки maven для добавления сгенерированных исходных тестовых файлов в сборку -> http://mojo.codehaus.org/build-helper-maven-plugin/add-test-source-mojo.html

Это гарантирует, что каталоги, добавленные этой целью, будут автоматически подхвачены плагином компилятора во время test-compile фазы сборки.

EDIT

Вот пример того, как сгенерировать код для тестирования с помощью cxf-codegen-plugin

<build>
  <plugins>
    ...
    <plugin>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-codegen-plugin</artifactId>
      <version>${cxf.version}</version>
      <executions>
        <execution>
          <id>generate-test-sources</id>
          <phase>generate-test-sources</phase>
          <configuration>
            <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
            <wsdlOptions>
              <wsdlOption>
                <wsdl>${basedir}/src/main/wsdl/myService.wsdl</wsdl>
              </wsdlOption>
            </wsdlOptions>
          </configuration>
          <goals>
            <goal>wsdl2java</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>build-helper-maven-plugin</artifactId>
      <version>${build-helper-maven-plugin.version}</version>
      <executions>
        <execution>
          <id>add-test-sources</id>
          <phase>generate-test-sources</phase>
          <goals>
            <goal>add-test-source</goal>
          </goals>
          <configuration>
            <sources>
              <source>${project.build.directory}/generated/cxf</source>
            </sources>
          </configuration>
        </execution>
      </executions>
    </plugin>
    ...
  </plugins>
</build>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...