Maven exec-maven-plugin和maven-resources-plugin没有运行,不知道为什么

时间:2014-03-13 22:50:24

标签: maven maven-plugin pom.xml exec-maven-plugin maven-resources-plugin

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

我发现命令exec-maven-plugin时,我无法弄清楚为什么maven-resources-pluginmvn 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>为我做了诀窍。

3 个答案:

答案 0 :(得分:2)

如果您将配置放在<execution/>中,则需要指定在此执行中需要运行的目标。

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

答案 1 :(得分:0)

找到答案:

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

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

资源插件问题也是类似的。

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

这些对我有用。

答案 2 :(得分:0)

<phase>prepare-package</phase>

是强制性的。