其他分享
首页 > 其他分享> > maven添加了tomcat插件,右边栏没有的解决

maven添加了tomcat插件,右边栏没有的解决

作者:互联网

一、问题        

        通常情况下,我们把maven的各种plugins放在<pluginManagement>下,但是有时候并不生效。下例中我在其中添加了tomcat7的插件,但是右边栏却没有相应的运行工具。

<pluginManagement>
    <plugins>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        ···
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
    </plugins>
</pluginManagement>

二、了解pluginManagement和plugins

查阅了相关资料,了解到了pluginManagement和plugins的区别。

pluginManagement是表示插件声明,即你在项目中的pluginManagement下声明了插件,Maven不会加载该插件,pluginManagement声明可以被继承。

pluginManagement一般是用来在父POM中定义,提供给子POM使用,子POM也可以覆盖这个定义,而且你在父POM中定义了版本之后,子模块中直接应用groupId和artifactId,而不用指定版本,同时也方便统一管理;而在父POM中的pluginManagement并不会介入到Maven的生命周期。

plugins就是直接引入一个plugin,而且可以绑定到Maven相关的生命周期上。

pluginManagement主要是为了统一管理插件,确保所有子POM使用的插件版本保持一致,类似dependencies和dependencyManagement。

三、解决

解决办法很简单,直接在<pluginManagement>的同级目录下再添加<plugins>,将tomcat7的插件添加到<plugins>进去即可,如下面代码段:

<pluginManagement> 
    <plugins>
      <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <!--此处tomcat不生效-->
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
     </plugins>
</pluginManagement>
<plugins>
   <!--此处tomcat生效-->
   <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
   </plugin>
</plugins>

点击右上角的刷新(idea) ,tomacat7就有了!

标签:tomcat7,插件,tomcat,plugin,maven,POM,pluginManagement
来源: https://blog.csdn.net/weixin_51418964/article/details/122764970