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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven exec-maven-plugin和maven-resources-plugin没有运行,不知道为什么。相关的知识,希望对你有一定的参考价值。

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

我一直想不通为什么 exec-maven-pluginmaven-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>

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

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

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

添加 <goals><goal>exec</goal></goals> 给每个 <execution> 对我来说是个好办法。

答案

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

对于默认链接到一个阶段的插件,你也可以在下面的 <executions/> 并且该配置将在该插件的默认阶段使用。

另一答案

找到答案了。

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

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

资源插件问题也得到了类似的修复。

增加 <goals><goal>copy-resources</goal></goals> 给每个 <execution>.

这些对我很有用

另一答案

还有

<phase>prepare-package</phase>

是强制性的。

以上是关于Maven exec-maven-plugin和maven-resources-plugin没有运行,不知道为什么。的主要内容,如果未能解决你的问题,请参考以下文章

使用 exec-maven-plugin 到 maven 阶段

Maven 和 Java:目标 org.codehaus.mojo:exec-maven-plugin:1.2.1:java 的参数“mainClass”丢失或无效

exec-maven-plugin 生成的进程会阻塞 maven 进程

用 exec.mainClass 覆盖 exec-maven-plugin

如何用exec-maven-plugin插件执行jar包

exec-maven-plugin 给出类未找到异常