专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

解决在idea开发中springboot项目无法使用内置或外部tomcat运行显示404问题

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 1:03:00       共计:3646 浏览

java中SpringBoot项目是支持内置tomcat和自定义tomcat使用,而且不管使用哪种方式,在本地调试的时候都可以按照内置方式启动,这样带来了方便,但是有时候也会带来坑,某些值得设置最好不要写在启动类的main方法,比如上下文获取

package com.example.demo;   import org.springframework.boot.SpringApplication;  import org.springframework.boot.autoconfigure.SpringBootApplication;   @SpringBootApplication  public class Demo3Application {  public static void main(String[] args) {
      SpringApplication.run(Demo3Application.class, args);  }
}

发布项目后,运行效果如下图所示:

经无数次查阅相关资料,最终原因很简单,就是项目启动程序不兼容引起的问题。

解决方案:

修改项目程序启动文件,这种方式只适用内置tomcat,并不适用自定义tomcat;所以最好适用注解方式自动注入,这样就都兼容了(注意:注解不适用static方法)

package com.example.demo;   import org.springframework.boot.SpringApplication;  import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder;  import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;   @SpringBootApplication  public class Demo3Application extends SpringBootServletInitializer { public static void main(String[] args) {
      SpringApplication.run(Demo3Application.class, args);  }  @Override   protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {  return builder.sources(Demo3Application.class);   }
}
重新运行项目或发布,效果如下:

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:tomcat 默认站点的配置 | ·下一条:windows下nginx以服务自启动

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有