马文。运行测试时跳过插件执行

Posted

技术标签:

【中文标题】马文。运行测试时跳过插件执行【英文标题】:Maven. Skip plugin execution when running tests 【发布时间】:2018-10-01 21:50:29 【问题描述】:

在我的pom.xml 我有frontend-maven-plugin

<plugin>
    <groupId>com.github.eirslett</groupId>
    <artifactId>frontend-maven-plugin</artifactId>
    <version>1.4</version>

    <configuration>
        <nodeVersion>v6.11.0</nodeVersion>
        <npmVersion>3.10.10</npmVersion>
        <workingDirectory>src/main/frontend</workingDirectory>
    </configuration>

    <executions>
        <execution>
            <id>install node and npm</id>
            <goals>
                <goal>install-node-and-npm</goal>
            </goals>
        </execution>
        <execution>
            <id>npm install</id>
            <goals>
                <goal>npm</goal>
            </goals>
        <execution>
        <execution>
            <id>npm run build</id>
            <goals>
                <goal>npm</goal>
            </goals>

            <configuration>
                <arguments>run build</arguments>
            </configuration>
        </execution>
    </executions>
</plugin>

运行它需要一些时间,并且在我运行测试时不需要这个插件。

我运行mvn test时是否可以不执行插件?

【问题讨论】:

【参考方案1】:

frontend-maven-plugin 现在has specific keys 禁用特定目标的执行。例如,添加系统属性skip.npm 将跳过 npm 执行。运行maven的时候可以这样添加:

mvn test -Dskip.npm

【讨论】:

如果 POM 中的 &lt;execution&gt; 在其 &lt;configuration&gt; 中定义了 &lt;skip&gt;false&lt;/skip&gt;,这似乎不起作用 :-(【参考方案2】:

您听说过 Maven 配置文件吗? http://maven.apache.org/guides/introduction/introduction-to-profiles.html

我了解当您想测试一个包时,您不想构建一个更大的包。

您可以定义一个配置文件来准确选择您想要构建和测试的模块。

你有一个相关的问题:

Disable maven plugins when using a specific profile

如果对您有帮助,请告诉我们!

【讨论】:

是的,我确实听说过 Maven 配置文件。只是想知道是否有更简单的方法来做到这一点。

以上是关于马文。运行测试时跳过插件执行的主要内容,如果未能解决你的问题,请参考以下文章

maven打包时跳过测试

maven打包时跳过测试

unittest测试框架_4_装饰器

如何在python里面for循环中放了一个定时函数,当定时函数运行时跳过本次循环,执行那个循环

maven入门(3-1)maven打包时跳过测试的几个方法

Ansible - 当至少一个项目在循环中失败时跳过任务