美文网首页
使用IDEA将springboot打成war包在tomcat运行

使用IDEA将springboot打成war包在tomcat运行

作者: 朝前小站 | 来源:发表于2019-05-16 00:29 被阅读0次

    1 说明

    SpringBoot内置tomcat使用起来很方便,打成jar包以后就可以直接运行,然而这样的运行方式还是有它的局限性的,没有外部独立的tomcat管理起来方便,而且如果有多个web应用,使用外部tomcat的优势也很明显。所以在这里我就给大家介绍一下在IDEA中如何将一个springboot应用打成war包部署到外部tomcat中。

    2 步骤

    2.1 修改打包的形式

    将原来的jar包形式改为war包形式,也就是将pom.xml文件里的<packaging>jar</packaging>改成<packaging>war</packaging>。

    2.2 修改导出war包的名称

    在pom.xml文件的<build>节点下可以添加一个节点<finalName>用来指定最后导出war包的名称。

    2.3 移除内置的tomcat插件

    有两种方式:

    一种是在pom.xml文件里找到spring-boot-starter-web依赖节点,在其中添加如下代码:

    <dependency>
    
        <groupId>org.springframework.boot</groupId>
    
        <artifactId>spring-boot-starter-web</artifactId>
    
        <!-- 移除嵌入式tomcat插件 -->
    
        <exclusions>
    
            <exclusion>
    
                <groupId>org.springframework.boot</groupId>
    
                <artifactId>spring-boot-starter-tomcat</artifactId>
    
            </exclusion>
    
        </exclusions>
    
    </dependency>
    

    另一种方法是在pom.xml里面直接添加如下依赖项:

    <!--部署成war包时开启↓↓↓↓--><
    dependency>      
      <groupId>org.springframework.boot</groupId>      
      <artifactId>spring-boot-starter-tomcat</artifactId>     
      <scope>provided</scope>  
    </dependency>      
    <!--部署成war包时开启↑↑↑↑-->
    

    2.4 修改启动类

    例如我们以前的启动类是App,修改之前App如下:

    修改之后App如下:

    其中的变化就是继承了类SpringBootServletInitializer,然后添加了方法:

    @Override  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {    
      return application.sources(App.class); 
     }
    

    2.5 使用IDEA导出war包

    在IDEA中点击【Build】——【Build Artifacts】,然后选择要打包的springboot工程,点击【Build】或者【ReBuild】,然后在工程的target目录下面会生成war包。

    2.6 在tomcat中使用war包访问

    将打好的war包放在tomcat的webapps目录下面,启动tomcat,war包会自动解压出一个和war包同名的文件夹,这个时候可以通过路径【http://ip:port/war包的名称】来访问springboot系统,如果需要修改配置的话可以在解压的文件夹中找到springboot的yml配置文件,修改其中的配置项,然后重启tomcat生效。

    3 注意事项

    3.1 tomcat版本

    记得外部tomcat要使用8.5及以上的版本,不然支持不了springboot。

    相关文章

      网友评论

          本文标题:使用IDEA将springboot打成war包在tomcat运行

          本文链接:https://www.haomeiwen.com/subject/gctepqtx.html