运行 Post-通过 maven-invoker-plugin 构建脚本

Running a Post-Build Script via maven-invoker-plugin

我正在尝试 运行 一个简单的 beanshell 脚本来在构建 war 文件后打印 'Hello World'。我正在参考 this。但是,我不断收到“没有选择要执行的项目”。在 运行ning mvn clean install 之后。我不确定错误是否来自文件目录,或者我无法在构建 war 文件后仅打印 'Hello World'。

   +- project folder/
      +- buildTargetWarFileFolder/
      +- python/
         +- folder/
         |  +-helloWolrd.bsh
           <plugin>
             <artifactId>maven-invoker-plugin</artifactId>
                <version>3.2.1</version>
                <configuration>
                    <debug>true</debug>
                    <projectsDirectory>project folder</projectsDirectory>
                    <postBuildHookScript>python/folder/helloWorld.bsh</postBuildHookScript>
                </configuration>
                <executions>
                    <execution>
                        <id>print Hello World</id>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

我建议直接使用 exec:exec 目标,绑定到 Maven 构建的 integration-test 阶段(以试用您的 python 脚本)。

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <executable>python</executable>
          <arguments>
            <argument>-c</argument>
            <argument>print('Hello world')</argument>
          </arguments>
        </configuration>
        <executions>
          <execution>
            <id>integration-test</id>
            <phase>integration-test</phase>
            <goals>
              <goal>exec</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

这与创建 war 后命令行中的 运行 相同:

python -c "print('Hello world')"