Я конвертирую довольно большую конструкцию Ant в Maven. В составе сборки Ant у нас есть несколько шагов, которые создавали классы Java, вызывая один из классов проекта, упрощенный как:
javac SomeGenerator.java
java SomeGenerator generated # generate classes in generated/
javac generated/*.java
Я разделил каждый генератор в своем собственном модуле Maven, но у меня проблема с невозможностью запуска генератора, поскольку он еще не скомпилирован в фазе generate-sources
.
Я пробовал что-то похожее на
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<id>generate-model</id>
<goals>
<goal>java</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<mainClass>DTOGenerator</mainClass>
<arguments>
<argument>${model.generated.dir}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
Что, к сожалению, не работает по причинам, изложенным выше. Разделение генераторов кода на два проекта, один для компиляции генератора, а другой для генерации DTO кажется излишним.
Какие существуют альтернативы?
Использование Maven 2.2.1.