SpringBoot在Tomcat部署war包[通俗易懂]

SpringBoot在Tomcat部署war包[通俗易懂]启动类配置继承SpringBootServletInitializer@SpringBootApplicationpublicclassTestApplicationextendsSpringBootServletInitializer{publicstaticvoidmain(String[]args){SpringApplication.run(TestApplication.class,args);}@Override

大家好,又见面了,我是你们的朋友全栈君。

启动类配置

继承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);
    }
}

打包方式配置

		<packaging>war</packaging>

移除内置Tomcat

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

WebSocket错误

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

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清除,防止启动两次应用

<Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true">
		<Context path="" docBase="webapps/test" reloadable="false"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>

注意事项

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131519.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 分析哲学_怎样查看bugreport

    分析哲学_怎样查看bugreportGetLogfromAndroidSystemadbbugreport>bugreport.txtcopybugreporttothecurrentdirectory.b

    2022年8月1日
    5
  • java 图书馆管理系统(面向接口编程)

    java 图书馆管理系统(面向接口编程)图书馆管理系统功能要求:1.图书馆(对书本的管理)  1.初始化图书馆的书本  2.图书馆有提供借书给用户的功能  3.图书馆有提供用户还书到图书馆的功能  4.图书馆提供查询图书馆的所有图书的功能2.用户系统(对用户管理)  1.初始化用户  2.用户管理提供注册用户的功能(用户名:首字母小写,至少6位。密码:必须包含小写字母,大写字

    2022年7月7日
    34
  • 触发器创建删除等操作

    一、创建一个简单的触发器触发器是一种特殊的存储过程,类似于事件函数,SQLServer™允许为INSERT、UPDATE、DELETE创建触发器,即当在表中插入、更新、删除记录时,触发一个或

    2021年12月24日
    50
  • (7)case语句[通俗易懂]

    (7)case语句[通俗易懂](1)case语法(2)多系统配置yum源(3)删除用户(4)模拟jumpserver!/bin/bashtrap""HUPINTOUITTSTPweb01

    2022年8月3日
    4
  • 轮到你了 番外篇_碳酸危机52书库

    轮到你了 番外篇_碳酸危机52书库饰品模型篇乐高生活大爆炸对于乐高积木,其实我也是早有耳闻。但是高昂的价格摆在那里,我也只能望而却步。而送给程序员最好的礼物里面,也包含有可编程的乐高机器人,可见对于工科男来说,乐高真的是非常棒的礼物了。而我拥有的第一款乐高玩具,是我研二暑假的时候。那个时候正好也没什么事,看了好几天的乐高论坛以后,觉得科技系列的模型很棒,很符合我那藏在内心深处的,对于马达齿轮传动装置等机械品的向往。于

    2022年8月20日
    10
  • HashTable的数组和连接两种实现方法(Java版本号)

    HashTable的数组和连接两种实现方法(Java版本号)

    2022年1月22日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号