springboot war包部署

 1. 概述       

        之前一篇文章《springboot+mybatis入门》讲述了如何利用IDEA快速搭建一个访问数据库的springboot项目,在运行时由于springboot内嵌了tomcat,可以通过jar包方式直接运行(建立在平常的开发中使用较为便捷的jar包直接运行的方式)。 但是在通常的项目中,JAVA web工程项目都是以war包形式部署到tomcat的webapps目录下。 下面介绍一下如何将springboot项目打成war包。


 2. 打包部署      

 2.1 修改pom.xml配置文件

           将jar打包方式修改为war。

        com.windyman
 	learnspringboot
	0.0.1-SNAPSHOT
	war

           增加tomcat的依赖(如果是jar直接运行下面这个记得去除)。

       
	      org.springframework.boot
	      spring-boot-starter-tomcat
	      provided
       

         springboot的启动以来去除tomcat

         

      
			org.springframework.boot
			spring-boot-starter-web
			
				
					org.springframework.boot
					spring-boot-starter-tomcat
				
			
     


  2.2  在LearnspringbootApplication.java同目录下添加启动初始化类

      

package com.windyman;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;  // 

public class LearnSpringbootServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(LearnspringbootApplication.class);
    }

}


   2.3 生成war包

     在IDEA下点击build -> build Artifacts 然后就会在targets目录下生成对应的war包,将war包部署到tomcat的webapp下重启即可。

     访问http://localhost:8080/learnspringboot-0.0.1-SNAPSHOT/userinfo?id=1 返回数据。


   问题:

   1.  在最初将war包部署到webapps目录下访问会出现404,经排查后发现是在IDEA里面的jdk版本(1.8)和tomcat环境的jdk版本(1.7)不一致导致,切换为一致后,重启tomcat访问就OK 了。 

    


你可能感兴趣的:(web架构设计)