删除的Maven插件仍然可用

时间:2018-03-28 15:27:28

标签: maven

我在我的maven项目中添加了PMD和checkstyle插件。当我完美地运行它们时。但是当我从pom.xml中删除它们时,我仍然可以运行mvn checkstyle:checkstyle或mvn pmd:pmd,即使我删除了它们。删除它们后,我运行了mvn clean install。我想知道会发生什么?

1 个答案:

答案 0 :(得分:1)

您执行的命令是插件目标(插件:目标),而不像“mvn install”不是阶段。

如果maven可以找到它,你几乎可以在项目上运行任何插件。 apache maven插件允许使用快捷符号(pmd:pmd),因为maven将尝试在apache名称空间中解析它们。

其他来源的插件需要以其全名运行,例如:

org.codehaus.mojo:versions-maven-plugin:2.5:display-dependency-updates

插件本身决定它是否可以自己运行目标,或者它是否需要运行的反应器并且只能在maven生命周期内工作(通常因为它取决于其他阶段的输出)

所以在你的情况下:mvn install不应该再运行pmd插件,如果它不在pom中 - 并且安装是一个阶段。 mvn pmd:pmd将使用其默认配置直接运行它 - 因为pmd:pmd是一个插件目标。

每个包装和阶段的默认插件都记录在案here。如果在pom中,这些可能会运行(取决于项目中的内容)。