我正在尝试执行一个PowerShell脚本,该脚本在maven构建期间写入文件。
我通过Eclipse IDE使用mvn clean install
调用构建。
这是我的pom.xml中的插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>${project.basedir}/.my-file.ps1</executable>
</configuration>
</plugin>
</plugins>
powershell脚本是一个隐藏文件,这就是为什么我在文件名前面有一个.
。
但是,该插件未执行,我正在遵循官方documentation中的说明。
答案 0 :(得分:1)
您正在运行mvn clean install
,它将经历各种构建阶段,但您的exec插件执行未附加到任何阶段。你必须要么:
通过将<phase>
元素添加到执行中来将执行附加到阶段,例如将其附加到pre-integration-test
阶段:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>my-exec</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>${project.basedir}/.my-file.ps1</executable>
</configuration>
</plugin>
或使用mvn exec:exec
命令专门调用exec目标。
如果您不熟悉Maven生命周期和构建的各个阶段,请阅读Introduction to the Build Lifecycle指南,或特别是Plugins部分,以了解有关插件执行和阶段附件的更多信息。