从命令行运行maven插件的语法是什么。

最后发布: 2015-06-14 20:00:15


问题

我看到这里已经有人问过: 如何从命令行执行maven插件? 但我真的不明白答案。 看起来语法的形式如下:

mvn foo:bar

但我不确定foo和bar应该是什么。

具体来说,我已经配置了maven-resource-plugin,如下所示:

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <!--configuration here-->
            </configuration>
        </execution>
    </executions>
</plugin>

我已经尝试了mvn artifactId|id|phase|goal:artifactidId|id|phase|goal几种排列mvn artifactId|id|phase|goal:artifactidId|id|phase|goal但它们都没有工作。 我想我会停止试图强暴它,只是问互联网。 此外,这是在任何地方记录?

java maven maven-plugin maven-resources-plugin
回答

有3种模式:

groupId:artifactId:version:goal
groupId:artifactId:goal
prefix:goal

如果从具有pom.xml的位置运行此命令并且尚未指定版本,Maven将在构建部分中搜索匹配的插件。 前缀通常(并不总是)被识别为artifactId的一部分,例如maven-help-plugin具有前缀help 插件文档应该为您提供确切的前缀。


回答

您可以按如下方式调用此插件目标:

mvn resources:copy-resources

其中copy-resources是你在POM中配置的插件目标, resources前缀 maven-resources-plugin (请参阅此链接的插件前缀分辨率)。