springboot部署到外置tomcat遇到的问题

idea开发springboot项目。maven作为项目管理的工具。我们只需要引入:

war

   
      org.springframework.boot
      spring-boot-maven-plugin
   
   
      org.apache.maven.plugins
      maven-compiler-plugin
      
         1.8
         1.8
      
   

就可以在springboot内置的tomcat容器类启动应用。

但是如果我们要打包部署到外置的tomcat服务器。这个时候就需要做一些小小的改动了,不然eureka没法发现部署的应用。以下内容亲测通过

1:添加maven-war-plgin打war包插件。然后指定war包的名称。


      org.apache.maven.plugins
      maven-war-plugin
      
         
         src\main\webapp\WEB-INF\web.xml
         microservice-provider-user
      
   

2:要添加如下依赖:scope一定要是provided.(eclipse要写成complie)只在编译阶段起效,添加外置tomcat依赖包


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

3:修改主程序:


@SpringBootApplication
@EnableDiscoveryClient
public class MicroserviceProviderUserApplication extends SpringBootServletInitializer {

	/*@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application){

		return application.sources(MicroserviceProviderUserApplication.class);
	}*/

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

继承SpringBootServletInitializer就行了。网上说要实现WebApplicationContext接口。重写config方法。这都多次一举。因为

SpringBootServletInitializer已经实现了这个接口。

接下来。配置外置tomcat就行了

启动就行了。easy

你可能感兴趣的:(java)