我需要在maven构建阶段执行几个java类,但插件只执行第一次执行的类
波姆:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>first</id>
<goals>
<goal>java</goal>
</goals>
<phase>test-compile</phase>
<configuration>
<mainClass>com.myPackage.AssignTest</mainClass>
</configuration>
</execution>
<execution>
<id>second</id>
<goals>
<goal>java</goal>
</goals>
<phase>test-compile</phase>
<configuration>
<mainClass>com.myPackage.CompareTest</mainClass>
</configuration>
</execution>
</executions>
</plugin>
有人知道哪里出错了吗?
答案 0 :(得分:1)
如果有人想要回答这个问题。
通过实验,我发现java
目标不支持多次执行,但exec
目标确实如此。所以只需将java转换为exec
以下是如何使用exec
目标运行上述代码的示例。
<executions>
<execution>
<id>execution-one</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-cp</argument>
<classpath/>
<argument>com.myPackage.AssignTest</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>execution-two</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-cp</argument>
<classpath/>
<argument>com.myPackage.CompareTest</argument>
</arguments>
</configuration>
</execution>
</executions>
如果要运行的类驻留在实际代码中,则可能需要将exec目标绑定到compile
之后的阶段。否则,他们只会从项目依赖项中获取。