1.修改springboot配置
1.1修改pom.xml,排除tomcat和servlet的引入,改为适合war的方式
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
1.2.(非必须)如果你的build方式不是默认的,那还需要调整打包方式,不然build的时候就是报错的
主要就是有其他的打包方式的话需要注释掉,一般来说很古老的项目遇到可能多些。
1.3.修改application.properties,增加proxy的代理配置
spring.aop.proxy-target-class=true
1.4.springboot启动类同级目录下新增class或者启动类直接继承SpringBootServletInitializer
import org.springframework.boot.web.support.SpringBootServletInitializer;
public class Application extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
总之呢,是要保证springboot项目能正常无误的打war包,然后再说别的错误;
2.修改tomcat配置
2.1.修改tomcat默认的jdk加载路径
如果不修改这个,那你可能会遇到2个错误:
一是tomcat压根启动闪屏然后就直接退了,二是项目启动自然会报错JRE/JDK版本支持错误,不要问我为什么知道;
修改setclasspath.bat文件(加到文件最顶部就可以):
set JAVA_HOME=XXXX\0_soft\jdk\jdk1.8\jdk1.8
set JRE_HOME=XXXX\0_soft\jdk\jdk1.8\jre8
2.2.(非必须)修改tomcat启动扫描的jar
这一步只有在tomcat启动扫描jar包那一步报错的时候再来做,正常是不需要的。
修改catalina.properties文件中的
tomcat.util.scan.DefaultJarScanner.jarsToSkip
后面一大堆jar的校验都注释或者删除掉,修改成:
tomcat.util.scan.DefaultJarScanner.jarsToSkip=*.jar
3.启动说明
tomcat启动之后确定不报错,然后postmann请求一下接口,呀!还是不通,404又来了,那是因为springboot项目单独拎出来放到tomcat里面请求url是需要项目名字滴,把原来的url加上项目名再来一次试试!