默认的 Maven tomcat 插件在哪里配置



在Maven项目中,我可以使用tomcat插件而无需将其添加到POM中。因此,我可以像这样部署和运行我的 Web 应用程序:

mvn clean install tomcat:run

我知道它正在使用一些默认配置,但我的问题是为什么 Maven 允许我使用此插件,即使我没有配置它?它也不在超级POM中。所以我不知道它的配置来自哪里。有人知道吗?

Maven有一些约定,即使您没有在项目POM或设置中配置任何内容.xml。当您在命令行中以这种方式调用插件时,Maven 会尝试通过添加以下 groupId 之一来查找插件:

  • org.apache.maven.plugins
  • org.codehaus.mojo

对于 artifactId,它还尝试使用以下之一完成您指定的"前缀"(此处为 tomcat):

  • maven-${prefix}-plugin: (convetion for official plugins) -> maven-tomcat-plugin
  • ${prefix}-maven-plugin: (约定为 3rd party plugins) -> tomcat-maven-plugin

对于版本,它只是尝试获取最新的可用版本。

在您的特定情况下,默认值匹配:org.codehaus.mojo:tomcat-maven-plugin:1.1(或任何其他可用版本)。

这里有更多关于机制的细节,以及如何将这些约定用于你自己的 groupId。

最新更新