springboot war包 在tomcat中运行启动两次的解决

tomcat配置条件

1、首先进入tomcat的conf文件夹,对server.xml配置端口号,两个原则,一个是当前的端口号没有被其他的锁占用,另一个对外暴露的服务的端口号和springboot对外要暴露的端口号是一致的。

2、移除tomcat的webapps下面的相关的自带的项目文件

springboot项目注意事项

1、springboot自带的tomcat需要在编译的时候移除,maven提供如下的一种方法:

      
            org.springframework.boot
            spring-boot-starter-web
            
                
                    org.springframework.boot
                    spring-boot-starter-tomcat
                
            
        

        
            javax.servlet
            javax.servlet-api
            provided
        

另外需要在pom文件中加入插件依赖

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

项目需要打成war包的形式

war  

2、Springboot项目启动的类不变,如下的一种:

@SpringBootApplication
public class ZyzhBackStageWebApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZyzhBackStageWebApplication.class, args);
    }

}

同时创建另外一个类

import org.springframework.boot.builder.SpringApplicationBuilder;

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

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(ZyzhBackStageWebApplication.class);
    }

}

你可能感兴趣的:(springboot war包 在tomcat中运行启动两次的解决)