运行 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')"
我正在尝试 运行 一个简单的 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')"