maven如何知道需要从目标中调用哪个插件?

时间:2018-09-19 11:43:24

标签: java maven

我们说

当您调用mvn archetype:generate时,maven如何知道需要调用“ Maven原型插件”?

或者您在执行mvn dependency:copy-dependencies时如何调用“ Apache Maven依赖插件”?

i.e maven如何维护'archetype'->'Maven Archetype Plugin'之间的链接?

1 个答案:

答案 0 :(得分:10)

默认情况下可用。此页面列出了核心插件和其他

https://maven.apache.org/plugins/

如果要使用其他插件,则需要在pom.xml文件中提及,以便可以解决依赖关系。

<build>
    <plugins>
        <!--Restdocs config for collating all snippets start-->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>animal-sniffer-maven-plugin</artifactId>
            <version>XXX</version>
            ...
        </plugin>
     </plugins>
</build>

如果运行命令mvn animal-sniffer:checkanimal-sniffer是插件前缀,check是目标。前缀和依赖性之间的映射在here中提到。同时,目标check在实际实现中通过注释映射,如果您查看此插件的源代码,则会看到类似以下的内容。

@Mojo( name = "check", defaultPhase = LifecyclePhase.PROCESS_CLASSES, requiresDependencyResolution = ResolutionScope.COMPILE, threadSafe = true )