Я пытаюсь переместить JAVA-приложение, созданное Муравьем к Maven2. Среди другого сборка выполняют следующие операции:
При выполнении javadoc doclet, чтобы найти аннотируемые файлы Java быть воплощают позже как веб-сервисы
скомпилируйте небольшую часть кода для шага 3
выполненная Ось java2wsdl на скомпилированном коде от шага 2
произведите код Java с wsdl2java на файлах WSDL от шага 3
скомпилируйте весь код
При попытке к "mavenize" процесса я могу выполнить каждую задачу за один раз, но могу не достигнуть их всех в том порядке.
Чтобы продемонстрировать моего англичанина и не загрузить Вас деталями, я покажу следующий отрывок:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.6.1</version>
<executions>
<execution>
<id>aggregate</id>
<phase>generate-sources</phase>
<goals>
<goal>aggregate</goal>
</goals>
<configuration>...</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>compileWSfiles</id>
<goals>
<goal>compile</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<includes>
<!-- include 3 source files -->
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>axistools-maven-plugin</artifactId>
<version>1.3</version>
<dependencies>
<dependency>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>java2wsdl</id>
<phase>generate-sources</phase>
<goals>
<goal>java2wsdl</goal>
</goals>
<configuration>...</configuration>
</execution>
<execution>
<id>wsdl2java</id>
<phase>generate-sources</phase>
<goals>
<goal>wsdl2java</goal>
</goals>
<configuration>...</configuration>
</execution>
</executions>
</plugin>
</plugins>
Основная проблема состоит в том, что я не имею никакого контроля на порядке вещей, и это очевидно важно здесь, поскольку каждый вывод шага является следующим ступенчатым входным сигналом.
Плагины, привязанные к той же фазе , должны выполняться в том же порядке, что и перечислены в POM, но ... по этому поводу есть нерешенная проблема ( MNG-2258 ). Также обратите внимание на связанную проблему MNG-3719 (обратите особое внимание на этот комментарий ). Поскольку я не думаю, что в вашем случае возможен "обман" MNG-3719 , я предлагаю попробовать с Maven 2.0.8 :( И скрестите пальцы, чтобы не столкнуться с регрессом.