在Maven项目中,我可以使用tomcat插件而不将其添加到POM中。所以我可以部署和运行我的webapp,例如:
mvn clean install tomcat:run
我知道它正在使用一些默认配置,但我的问题是为什么Maven允许我使用这个插件,即使我还没有配置它?它也不在超级POM中。所以我不知道它的配置来自哪里。有谁知道吗?
答案 0 :(得分:2)
Maven对此有一些约定,即使您没有在项目POM或 settings.xml 中配置任何内容。 当您在命令行中以这种方式调用插件时,Maven会尝试通过添加以下groupId之一来查找插件:
对于artifactId,它还尝试完成"前缀"你用其中一个来指定(这里是 tomcat ):
对于该版本,它只是尝试获取最新版本。
在您的特定情况下,默认值匹配: org.codehaus.mojo:tomcat-maven-plugin:1.1 (或任何其他可用版本)。
A bit more detail here关于机制,以及如何将这些约定用于您自己的groupId&#39。