我正在尝试将Ant构建的Java应用程序迁移到Maven2。其中构建执行以下操作:
运行javadoc doclet以查找以后将作为Web服务外部化的带注释的Java文件
编译第3步的一小部分代码
对第2步的编译代码运行Axis java2wsdl
在第3步的WSDL文件中使用wsdl2java生成Java代码
编译整个代码
当试图“整理”过程时,我可以一次完成每项任务,但却无法按顺序完成所有任务。
为了展示我的pom并且没有向您提供详细信息,我将展示以下代码段:
<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>
主要问题是我无法控制事物的顺序,因此每个步骤输出都是下一步输入,这显然很重要。
答案 0 :(得分:6)
绑定到同一阶段的插件应该按照POM中列出的顺序执行,但是......有一个关于此问题的公开问题(MNG-2258)。另请查看相关问题MNG-3719(特别注意this comment)。由于我不认为MNG-3719的“作弊”在你的情况下是可能的,我的建议是尝试使用Maven 2.0.8 :(并指责不要面对任何回归。