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

Java 在构建开始之前运行bash脚本,java,maven,Java,Maven,我有一个父pom文件,它声明了一些模块,比如 <modules> <module>execution</module> <module>model</module> </modules> 处决 模型 问题是有一个bash脚本bootstrap.sh,与父级pom.xml处于同一级别,我希望在开始构建上面列出的模块之前执行该脚本 maven可以这样做吗?或者有另一种方法在模块编译开始之前执行bootstr

我有一个父pom文件,它声明了一些模块,比如

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