在构建期间插入自定义构建代码/使用Maven调用java程序
我有一个项目,其中代码由第三方工具生成(通常从命令行调用)。我希望将此工具与我们的maven构建设置保持一致,也就是说,我希望在在构建期间插入自定义构建代码/使用Maven调用java程序,java,maven,Java,Maven,我有一个项目,其中代码由第三方工具生成(通常从命令行调用)。我希望将此工具与我们的maven构建设置保持一致,也就是说,我希望在maven编译之前调用它 有没有一种方法可以使用众多maven插件之一执行任意Java程序?我将在POM中的何处插入它?使用maven exec插件: <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId
maven编译之前调用它
有没有一种方法可以使用众多maven插件之一执行任意Java程序?我将在POM中的何处插入它?使用maven exec插件:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>exec-one</id>
<phase>verify</phase>
<configuration>
<executable>echo</executable>
<arguments>
<argument>exec one</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
org.codehaus.mojo
execmaven插件
执行一
验证
回声
执行一
执行官
与任何其他插件一样,它应该在POM文件的“build”部分指定,您可以使用它的exec
目标来执行外部应用程序
关于何时执行外部应用程序,您必须考虑。当您启动build
过程时,Maven将执行以下(严格有序的)阶段:
证实
编撰
试验
包装
集成测试
核实
安装
部署
您可以通过在Exec Maven Pluginexecutions
元素中配置阶段
元素来决定在上面哪个步骤运行外部应用程序:
<!-- Begin of POM -->
<project>
...
<build>
<plugins>
<!-- Begin of Exec Maven Plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>validate</phase> <!-- Here, for example, validate -->
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>...</configuration>
</plugin>
<!-- Begin of Exec Maven Plugin -->
</plugins>
</build>
...
</project>
<!-- End of POM -->
...
org.codehaus.mojo
execmaven插件
1.2.1
验证
执行官
...
...