弹簧引导部署到Tomcat过程中遇到的问题汇总

  

  

春季启动项目一般都是内嵌tomcat或jetty服者务器运行,很少用战争包部署到外部的服务容器,即使放到linux中,一般也是直接启动应用程序类,但是有些时候我们需要部署到外部的服务器,这对于弹簧引导来说却有点麻烦

  

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

  

  

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

        & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-tomcat   & lt; scope> provided   & lt;/dependency>之前      

2,应用类需要如下改动,其中排除是忽略数据库的注解(我没弄数据库):
  

        @SpringBootApplication(排除={   DataSourceAutoConfiguration.class,   DataSourceTransactionManagerAutoConfiguration。类,HibernateJpaAutoConfiguration.class})   公共类的应用程序扩展SpringBootServletInitializer {   @Override   保护SpringApplicationBuilder配置(SpringApplicationBuilder应用程序){   返回application.sources (Application.class);   }   公共静态void main (String [] args){抛出异常   SpringApplication.run (Application.class, args);   }   }      

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

  

我的代码:

  

pom.xml         & lt;项目xmlns=" http://maven.apache.org/POM/4.0.0 " xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance "   xsi: schemaLocation=" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd”比;   & lt; modelVersion> 4.0.0   & lt; artifactId> wechatServer   & lt; packaging> war   & lt; url> http://maven.apache.org</url>   & lt; !——从春天继承默认引导——比;   & lt; parent>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-parent   & lt; version> 1.4.0.RELEASE   & lt;/parent>   & lt; properties>   & lt; project.build.sourceEncoding> UTF-8   & lt; java.version> 1.8 & lt;/java.version>   & lt;/properties>   & lt; dependencies>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-web   & lt; !——排除内置容器,排除内置容器导出成战争包可以让外部容器运行spring-boot项目——比;   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-tomcat   & lt; scope> provided   & lt;/dependency>   & lt; dependency>   & lt; groupId> javax.servlet   & lt; artifactId> javax.servlet-api   & lt;/dependency>   & lt; dependency>   & lt; groupId> mysql   & lt; artifactId> mysql-connector-java   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-jdbc   & lt;/dependency>   & lt; dependency>   & lt; groupId> dom4j   & lt; artifactId> dom4j   & lt; version> 1.6.1   & lt;/dependency>   & lt; dependency>   & lt; groupId> com.thoughtworks.xstream   & lt; artifactId> xstream   & lt; version> 1.4.10   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-devtools   & lt; optional> true & lt; !——可?true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入——比;   & lt;/dependency>   & lt;/dependencies>   & lt; !——修改打包设置——比;   & lt; build>   & lt; plugins>   & lt; !- & lt; plugin>& lt; groupId> org.springframework.boot& lt; artifactId> spring-boot-maven-plugin   & lt;/plugin>——比;   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-war-plugin

弹簧引导部署到Tomcat过程中遇到的问题汇总