SpringBoot 外部tomcat 打包成war包部署

项目部署前先填个坑,就是tomcat7.0部署SpringBoot的war包会出现一个错误

error creating bean with name 'defaultvalidator' defined in class path resource

所以部署前少填点坑将tomcat升级到8版本以上

接下来就修改我们Spring boot项目里面的启动类和maven依赖了

POM.XML在里面添加 打包后war包的名称
SpringBoot 外部tomcat 打包成war包部署_第1张图片

添加打包类型war
SpringBoot 外部tomcat 打包成war包部署_第2张图片
接下来是比较关键的依赖包和排除依赖包


        
            javax.servlet
            javax.servlet-api
        

移除tomcat依赖或者将tomcat依赖scope改为provide移除tomcat依赖



  org.springframework.boot

    spring-boot-starter-web

    

    

      

        org.springframework.boot

        spring-boot-starter-tomcat

      

    




  org.springframework.boot

  spring-boot-starter-tomcat

  provided


现在到我们的启动类了 我这里启动类名:Application

继承SpringBootServletInitializer类实现configure方法

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
}

接下来打包部署

将项目的maven 先 mvn clean 然后 mvn install 一下打包
打包成功在项目目录下就出现一个target文件其次找到下面的war包
SpringBoot 外部tomcat 打包成war包部署_第3张图片
把war拷贝到我们的外部tomcat文件的webapps目录下
SpringBoot 外部tomcat 打包成war包部署_第4张图片
SpringBoot 外部tomcat 打包成war包部署_第5张图片
因为我的tomcat一直是启动状态的拷贝下去的war包就会直接被编译

启动tomcat 访问项目

startup

我的tomcat环境变量配好的所以直接cmd里SpringBoot 外部tomcat 打包成war包部署_第6张图片SpringBoot 外部tomcat 打包成war包部署_第7张图片
启动后没有报错下面显示了tomcat的端口和关闭端口

项目就打包部署完成了,浏览器访问项目:http://localhost:端口号/war包名

你可能感兴趣的:(Spring,boot)