Spring Boot部署到Tomcat过程中遇到的问题汇总

网友投稿 315 2023-02-12


Spring Boot部署到Tomcat过程中遇到的问题汇总

前言

Spring Boot项目一般都是内嵌tomcat或者jetty服务器运行,很少用war包部署到外部的服务容器,即使放到linux中,一般也是直接启动Application类,但是有些时候我们需要部署到外部的服务器,这对于Spring Boot来说却有点麻烦

下面就记录下自己部署的第一个SprinzDqKyWjXgBoot项目到Tomcat中遇到的问题,三个地方需要注意:头疼……

详细如下:

1、SpringBoot有自己内置Tomcat容器,所以要告诉它不使用内置容器,不指定Tomcat版本配置如下:

org.springframework.boot

spring-boot-starter-tomcat

provided

2、Application类需要如下改动,其中exclude是忽略数据库的注解(我没弄数据库):

@SpringBootApplication(exclude = {

DataSourceAutoConfiguration.class,

DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})

public class Application extends SpringBootServletInitializer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

return application.sources(Application.class);

}

public static void main(String[] args) throws Exception {

SpringApplication.run(Application.class, args);

}

}

3、JDK版本要一直!我开始服务器用的jdk1.7,本地环境用的1.8,结果本地怎么调试运行都正常,服务器tomcat启动正常,jsp访问都正常,接口全部404,控制台也没有出现SpringBoot的标示!!!!研究了一整天……头疼……

我的代码:

pom.xml

xsi:schemaLocation="httpzDqKyWjX://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

wechatServerhttp://

war

http://maven.apache.org

org.springframework.boot

spring-boot-starter-parent

1.4.0.RELEASE

UTF-8

1.8

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-tomcat

provided

javax.servlet

javax.servlet-api

mysql

mysql-connector-java

org.springframework.boot

spring-boot-starter-jdbc

dom4j

dom4j

1.6.1

com.thoughtworks.xstream

xstream

1.4.10

org.springframework.boot

spring-boot-devtools

true

org.apache.maven.plugins

maven-war-plugin

2.4

${project.build.sourceEncoding}

true

wechatServer

${start-class}

true

true

false

xsi:schemaLocation="httpzDqKyWjX://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

wechatServerhttp://

war

http://maven.apache.org

org.springframework.boot

spring-boot-starter-parent

1.4.0.RELEASE

UTF-8

1.8

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-tomcat

provided

javax.servlet

javax.servlet-api

mysql

mysql-connector-java

org.springframework.boot

spring-boot-starter-jdbc

dom4j

dom4j

1.6.1

com.thoughtworks.xstream

xstream

1.4.10

org.springframework.boot

spring-boot-devtools

true

org.apache.maven.plugins

maven-war-plugin

2.4

${project.build.sourceEncoding}

true

wechatServer

${start-class}

true

true

false

Application类:

package wechatService.app;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;

import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.support.SpringBootServletInitializer;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication(exclude = {

DataSourceAutoConfiguration.class,

DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})

public class Application extends SpringBootServletInitializer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

return application.sources(Application.class);

}

public static void main(String[] args) throws Exception {

SpringApplication.run(Application.class, args);

}

}

Hello请求:

@RestController

@RequestMapping

public class LoginController {

@RequestMapping("/hello/{myName}")

String index(@PathVariable String myName) {

return "Hello "+myName+"!!!";

}

}

application.properties我这里只配置了端口,然而部署到tomcat以后这里就不起作用了:

server.port = 80

我的目录结构:

最后我的完整代码:http://xiazai.jb51.net/201803/yuanma/wechatServer(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot 利用WebUploader进行文件上传功能
下一篇:微信测试帐号接口配置(微信测试帐号接口配置方法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~