linux环境下,spring boot项目war包放入tomcat中,访问报404问题解决方案!!!

    今天用springBoot搭建项目打war到linux服务器上部署一直报404,特别郁闷,于是百度查了大半天,终于解决了,下面记录一下我的解决方案。

 

  1、启动类继承SpringBootServletInitializer类并重写configure方法

      

 

   2、pom.xml

     

     

     

 

  上面几点依赖去掉好像也可以,有兴趣的同学可以试试。

 

  3、修改tomcat/bin目录下的catalina.sh、setclasspath.sh文件,配置jdk路径

     

 

     catalina.sh

           

 

    setclasspath.sh

    

 

 

    修改完成后,重启tomcat,发现部署成功了,项目启动一切正常!!!谢谢!!!

 

 

  

 

转载于:https://www.cnblogs.com/wzb0228/p/11362359.html

Spring Boot 通常打成一个可执行的 JAR 文件,但也可以将其打WAR 文件,并部署到传统的 Servlet 容器,比如 Apache Tomcat。当你想将一个 Spring Boot 应用程序打WAR 并且想要指定不同的端口号,而不是默认的 8080 端口时,你需要进行一些配置。 在 Spring Boot 应用设置端口号,通常是通过在 `application.properties` 或 `application.yml` 文件设置 `server.port` 属性来完成的。例如,如果你想设置端口号为 8099,你可以在配置文件添加如下内容: ```properties # application.properties server.port=8099 ``` 或者: ```yaml # application.yml server: port: 8099 ``` 但是,如果你的 Spring Boot 应用被打成了 WAR 文件并且部署在 Tomcat ,你需要修改 Tomcat 的配置而不是 Spring Boot 的配置。这通常是通过修改 Tomcat 的 server.xml 文件来完成的,你可以在其指定 HTTP 连接器使用你想要的端口。例如: ```xml <!-- Tomcat的server.xml文件的Connector配置 --> <Connector port="8099" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 在上述配置,`port="8099"` 指定了 Tomcat 服务器将监听的端口号为 8099。 需要注意的是,当你将 Spring Boot 应用打WAR 文件并部署到 Tomcat 时,你需要确保 Spring Boot 的嵌入式 Servlet 容器不被启动,这通常是通过在 Spring Boot 的主类上使用 `@SpringBootApplication` 注解并排除 `EmbeddedServletContainerAutoConfiguration` 类来实现的。 此外,你可能还需要配置 Spring Boot 应用以确保它不会尝试将自己作为一个独立的应用程序运行。这通常涉及到在 `pom.xml` 或 `build.gradle` 文件Spring Boot Maven 或 Gradle 插件进行配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值