把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项目部署到服务器的tomcat8下面

 

// 新建的启动类的内容
// 让该类继承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>

备上截图方面小白:

把springboot项目部署到服务器的tomcat8下面

 

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

把springboot项目部署到服务器的tomcat8下面

5:就使用maven打包,在Lifecycle目录下的package双击打包:

把springboot项目部署到服务器的tomcat8下面

生成下面的javaApi.war包:

把springboot项目部署到服务器的tomcat8下面

 

6:上传到tomcat下面的webapps里面去,启动tomcat

把springboot项目部署到服务器的tomcat8下面

 

以上结束:之后是我遇到 的问题,总结如下:

1:报这种错误:

把springboot项目部署到服务器的tomcat8下面

原因是我配置了,生产环境和开发环境二个property文件,读取不到,在开发环境下,是没问题的,看图:

把springboot项目部署到服务器的tomcat8下面

之后我直接把application-pro.properties改成application.properties文件了.运行成功.