1

我正在尝试执行一个在 Maven 构建期间写入文件的 powershell 脚本。

我正在mvn clean install通过 Eclipse IDE 调用构建。

这是我的 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 脚本是一个隐藏文件,所以我.在文件名前面有一个。

但是,插件没有执行,我按照官方文档中的说明进行操作。

4

1 回答 1

2

您正在运行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 生命周期和构建的各个阶段,请阅读构建生命周期指南简介,或者特别是插件部分,以了解有关插件执行和阶段附件的更多信息。

于 2017-11-01T14:19:36.567 回答