Как указать правило зависимости в Maven между файлами с определенными суффиксами? - PullRequest
2 голосов
/ 09 марта 2010

У меня есть программа на Java, которая генерирует классы Java для моего приложения. В основном это берет простую спецификацию для класса и генерирует специализированную форма Java-бина. Я хочу интегрировать это в мой Maven pom.xml так что если входной файл изменяется, Maven автоматически генерирует новый файл .java до фазы компиляции Maven.

Я знаю, как это сделать в make, но ничего не нашел в Maven doc с этой функциональностью.

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Вы не предоставили подробных сведений о процессе генерации кода, но, возможно, вы можете просто вызвать генератор кода с помощью exec-maven-plugin (см. Примеры ). раздел).Соглашение заключается в создании источников в ${project.build.directory}/generated-sources/<tool>.Затем добавьте сгенерированные источники с помощью build-helper-plugin и его add-sources mojo.Свяжите каждую вещь в фазе generate-sources.

Я просто покажу материал помощника по сборке ниже:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-mytool-sources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/mytool</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

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

PS: Возможно, я что-то упустил, существует некое несоответствие между моим ответом и названием вашего вопроса.

0 голосов
/ 09 марта 2010

Maven имеет фазу " generate-sources " для этого

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