SpringBoot在Tomcat部署war包

启动类配置

继承SpringBootServletInitializer

@SpringBootApplication
public class TestApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }

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

打包方式配置

        war

移除内置Tomcat

        org.springframework.bootspring-boot-starter-tomcatprovided

WebSocket错误

        javax.servletjavax.servlet-api3.1.0provided

Bean按需加载

@Configuration
public class WebSocketConfig {
    @Bean
    @ConditionalOnProperty(name = "system.package", havingValue = "jar", matchIfMissing = true)
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}

Tomcat设置

Host节点增加Context可以直接通过ip+端口方式访问,需要将appBase清除,防止启动两次应用

注意事项

对于框架封装引用jar包,需要注意工程项目中只能有一个类继承自SpringBootServletInitializer,否则会导致ApplicationContext初始化两次

【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容