2

pom.xml我在 maven文件中添加了几个新插件。

当我发出命令时,我无法弄清楚为什么exec-maven-plugin并且 maven-resources-plugin它们没有运行:mvn install。其他 Maven 插件确实按预期执行。

当我运行mvn exec:exec时,exec-maven-plugin确实会运行。

我尝试使用许多不同的阶段,但无济于事。

我在这里做错了什么,我应该尝试什么?


这是我的 Maven 文件的相关部分

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
            <execution>
                <id>build-spa-bower</id>
                <phase>validate</phase>
                <configuration>
                    <executable>bower</executable>
                    <arguments>install</arguments>
                    <workingDirectory>src/main/spa</workingDirectory>
                </configuration>
            </execution>
            <execution>
                <id>build-spa-grunt</id>
                <phase>validate</phase>
                <configuration>
                    <executable>bower</executable>
                    <arguments>install</arguments>
                    <workingDirectory>src/main/spa</workingDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>
    <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
        <executions>
            <execution>
                <id>resource-spa</id>
                <phase>compile</phase>
                <configuration>
                    <outputDirectory>${project.groupId}/${project.artifactId}/spa</outputDirectory>
                    <resources>
                        <directory>src/main/spa/dist</directory>
                        <filtering>false</filtering>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
    <!-- ... -->
</plugins>

编辑:

找到了 exec 插件的答案,但还没有找到资源插件的答案。

exec 插件需要一个目标才能触发

添加<goals><goal>exec</goal></goals>到每个<execution>对我来说都是诀窍。

4

3 回答 3

2

如果你把你的配置放在一个<execution/>你需要指定哪些目标需要在这个执行中运行。

对于默认链接到某个阶段的插件,您还可以指定该阶段之外的配置,<executions/>并且该配置将在该插件的默认阶段期间使用。

于 2014-03-13T23:46:13.623 回答
0

找到答案:

exec 插件需要一个目标才能触发。

添加<goals><goal>exec</goal></goals>到每个<execution>.

资源插件问题同样得到修复。

添加<goals><goal>copy-resources</goal></goals>到每个<execution>.

这些对我有用。

于 2014-03-13T23:46:31.167 回答
0

<phase>prepare-package</phase>

是强制性的。

于 2020-04-19T20:02:07.703 回答