把springboot项目部署到服务器的tomcat8下面
放到服务器上时要使用服务器上的tomcat,也就是外部服务器,但是SpringBoot是使用的内置服务器,这时候就需要配置了
1:首先我们需要在pom文件中添加依赖
<!--使用外部tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2:在SpringBoot自带的Application启动类所在目录下新建启动类
// 新建的启动类的内容
// 让该类继承SpringBoot中的SpringBootServletInitializer
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
// 找到SpringBoot自带的启动类
return application.sources(BaomingApplication.class);
}
}
注:新建的启动类一定要和SpringBoot自带的启动类在一个目录下
3: 在pom文件中的project中设置packing,将打包方式设置成war
<packaging>war</packaging>
备上截图方面小白:
4: 在pom文件中的build中设置finalName
<build>
<finalName>javaApi</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
注:打包之后的名字,也就是最后访问时的项目名,如下:
http://*.*.com:8090/javaApi/seckillMulitByRedis?goodId=123666
5:就使用maven打包,在Lifecycle目录下的package双击打包:
生成下面的javaApi.war包:
6:上传到tomcat下面的webapps里面去,启动tomcat
以上结束:之后是我遇到 的问题,总结如下:
1:报这种错误:
原因是我配置了,生产环境和开发环境二个property文件,读取不到,在开发环境下,是没问题的,看图:
之后我直接把application-pro.properties改成application.properties文件了.运行成功.