我有一个父 pom 文件,它声明了一些模块,例如
<modules>
<module>execution</module>
<module>model</module>
</modules>
问题是有一个 bash 脚本 bootstrap.sh
与父 pom.xml
位于同一级别,我想在构建列出的模块之前执行该脚本以上就开始了。
用maven可以实现吗?或者还有另一种方法可以在模块编译开始之前执行 bootstrap.sh
。
最佳答案
构建多模块项目时,将首先构建聚合器,然后根据模块之间的依赖关系按顺序构建模块。
您可以将以下插件添加到您的聚合器(它是您在问题中提到的父pom)pom.xml 来解决您的问题。我选择初始化来执行此操作,但您也可以选择安装。查看lifecycle.此处导入的东西,当发出生命周期后期的 Maven 命令时,将执行此代码。 (例如:如果您选择 install 作为阶段,并执行 mvn package 这将不会被执行。)
<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>
关于java - 在构建开始之前运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53820230/