java - Maven - 在当前项目和插件组中找不到前缀 'tomcat7' 的插件

标签 java maven tomcat

我创建了一个 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-pluginmaven-[short-name]-plugin (maven-[short- name]-plugin 为 Maven 项目提供的插件“保留”。

这解释了为什么 mvn compiler:compile 可以在任何项目上开箱即用,但 tomcat7:deploy

在您的情况下,第二个条件为真,因此您只需在要启动命令的项目上声明插件,或将其添加到您的用户 settings.xml 文件中:

<pluginGroups>
  <pluginGroup>org.apache.tomcat.maven</pluginGroup>
</pluginGroups>

See here for more info

关于java - Maven - 在当前项目和插件组中找不到前缀 'tomcat7' 的插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24311383/

相关文章:

java - AWS Lambda Java、S3 配置

java - 如何找出我的 Maven pom 中的哪些依赖项具有特定的依赖项。

java - Maven Release Plugin 不更新 dependencyManagement 中的 SNAPSHOT

java - FIN ACK TCP 延迟

java - 将web项目上引用为库的项目导出到tomcat

tomcat - 如何将 P6Spy 日志语句打印到 Tomcat 控制台

java - hibernate 状态下从一侧到多侧的级联

Javalogging.properties文件仅打印特定的记录器

java - 使用 Java 8 流方法获取最后的最大值

maven - XJC 生成错误 : can't parse argument number