在基於老版本的springcloud中使用tomcat部署項目是比較麻煩的,你可能須要在pom.xml中手動排除tomcat來部署到線上環境,而排除tomcat後eclipse中又沒法使用SpringBootApplication類啓動工程。java
在新版本的SpringCloud中,開發者們解決了這個問題,如今使用Tomcat部署項目是很是簡單的,只須要簡單兩步就能夠保證本地和線上同時可用。web
tomcat部署war包,因此Maven打包格式要改成warspring
<packaging>war</packaging>
springcloud應用部署一般是一個tomcat部署一個應用,爲了方便,把本身的微服務都打成ROOT.war名字的war包tomcat
<build> <finalName>ROOT</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
繼承SpringBootServletInitializer類,複寫configure方法微信
package com.mayi.springcloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class CommonserviceEurekaApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(CommonserviceEurekaApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(CommonserviceEurekaApplication.class); } }
注:配置文件中的端口號最好與tomcat保持一致(默認優先tomcat配置),不然容易形成混亂架構
架構師Q羣:618578034eclipse
spring cloud社區羣(需加微信拉您進入)maven
微信公衆號:java架構師修行ide
本公衆號將要使用一年的時間,按照JAVA高級軟件架構師實戰培訓的路線發佈一期完整的架構文章,難度由淺入深,適合有必定開發基礎想轉架構和正在作初級架構開發的人員學習,歡迎關注spring-boot