Maven exec插件未运行
Posted
技术标签:
【中文标题】Maven exec插件未运行【英文标题】:Maven exec plugin not running 【发布时间】:2018-04-12 23:49:21 【问题描述】:我正在尝试执行一个在 maven 构建期间写入文件的 powershell 脚本。
我正在通过 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中的说明进行操作。
【问题讨论】:
也许可执行文件实际上是powershell.exe
,而脚本是一个参数。
@brendan62269 插件本身甚至没有运行;插件没有启动。如果它确实启动并尝试运行,我会得到某种输出,说明是否执行了 powershell 脚本。但是插件本身没有执行。
【参考方案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 部分,以了解有关插件执行和阶段附件的更多信息。
【讨论】:
谢谢,这行得通。但是这里的插件文档mojohaus.org/exec-maven-plugin/usage.html 甚至没有提到以上是关于Maven exec插件未运行的主要内容,如果未能解决你的问题,请参考以下文章
Maven exec-maven-plugin和maven-resources-plugin没有运行,不知道为什么。