在开始构建之前运行bash脚本

时间:2018-12-17 17:26:57

标签: java maven

我有一个父pom文件,其中声明了一些模块,例如

<modules>
    <module>execution</module>
    <module>model</module>
</modules>

问题是,在开始构建上面列出的模块之前,我想执行与父bootstrap.sh相同级别的bash脚本pom.xml

使用Maven可以做到吗?或者,还有另一种方法可以在模块的编译开始之前执行bootstrap.sh

1 个答案:

答案 0 :(得分:1)

构建多模块项目时,将首先构建聚合器,然后根据模块之间的依赖关系按顺序构建模块。

您可以将以下插件添加到聚合器(问题中提到的父pom)pom.xml来解决您的问题。我选择要执行的初始化,但是您也可以选择安装。签出lifecycle.此处导入的内容当发出生命周期中稍后的maven命令时,将执行此代码。 (例如:如果您选择安装作为阶段,并执行mvn软件包,则不会执行。)

<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>