Java 在构建开始之前运行bash脚本
我有一个父pom文件,它声明了一些模块,比如Java 在构建开始之前运行bash脚本,java,maven,Java,Maven,我有一个父pom文件,它声明了一些模块,比如 <modules> <module>execution</module> <module>model</module> </modules> 处决 模型 问题是有一个bash脚本bootstrap.sh,与父级pom.xml处于同一级别,我希望在开始构建上面列出的模块之前执行该脚本 maven可以这样做吗?或者有另一种方法在模块编译开始之前执行bootstr
<modules>
<module>execution</module>
<module>model</module>
</modules>
处决
模型
问题是有一个bash脚本bootstrap.sh
,与父级pom.xml
处于同一级别,我希望在开始构建上面列出的模块之前执行该脚本
maven可以这样做吗?或者有另一种方法在模块编译开始之前执行
bootstrap.sh
。在构建多模块项目时,将首先构建聚合器,并根据模块之间的依赖关系按顺序构建模块
您可以将以下插件添加到聚合器(您在问题中提到的父pom)pom.xml以解决您的问题。我选择初始化以执行此操作,但您也可以选择安装。在这里检查导入的东西当生命周期中稍后发出maven命令时,将执行此代码。(例如:如果您选择安装作为阶段,并执行mvn包,则不会执行此操作。)
execmaven插件
org.codehaus.mojo
1.6.0
运行脚本
初始化
执行官
bootstrap.sh
取决于您如何运行构建,总是要编写另一个shell脚本将两者粘合在一起。我会问这个问题。这个脚本的目的是什么?这可能有助于@khmarbaise我想编译一个用另一种语言编写的项目。
<build>
<plugins>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.6.0</version>
<executions>
<execution>
<id>Run Script</id>
<phase>initialize</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>bootstrap.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>