我创建了一个 Maven 项目。这是结构:
-parent
-core
-web
但是当我尝试使用命令 mvn tomcat7:deploy
进行部署时,我收到以下错误:
No plugin found for prefix 'tomcat7' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo]
我把这个配置放在 pom.xml(web 项目的)中:
<build>
<finalName>MavenWeb</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>
</build>
最佳答案
可以使用它们的“FQN”调用插件目标:groupId:artifactId:version:goal,或者,如果适用,可以使用更短的命令(许多变体可用)。 仅使用插件的短名称(在您的 tomcat7:deploy 中,tomcat7 是短名称,deploy 是目标/mojo)适用于:
1) 插件的groupId 包含在Maven 的已知插件组中。 org.apache.maven.plugins默认在列表中。
或
您正在调用 Maven 命令的项目的 pom.xml 声明插件
2) artifactId 是 [short-name]-maven-plugin 或 maven-[short-name]-plugin (maven-[short- name]-plugin 为 Maven 项目提供的插件“保留”。
这解释了为什么 mvn compiler:compile 可以在任何项目上开箱即用,但 tomcat7:deploy
在您的情况下,第二个条件为真,因此您只需在要启动命令的项目上声明插件,或将其添加到您的用户 settings.xml 文件中:
<pluginGroups>
<pluginGroup>org.apache.tomcat.maven</pluginGroup>
</pluginGroups>
关于java - Maven - 在当前项目和插件组中找不到前缀 'tomcat7' 的插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24311383/