springCloud Finchley 微服务架构从入门到精通【十一】Tomcat 部署项目

  在基于老版本的springcloud中使用tomcat部署项目是比较麻烦的,你可能须要在pom.xml中手动排除tomcat来部署到线上环境,而排除tomcat后eclipse中又没法使用SpringBootApplication类启动工程。java

  在新版本的SpringCloud中,开发者们解决了这个问题,如今使用Tomcat部署项目是很是简单的,只须要简单两步就能够保证本地和线上同时可用。web

一、修改Pom.xml配置

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);
    }
}

三、启动测试

  • 在eclipse中经过启动类直接启动
  • 使用mvn clean package -DskipTests打成war包,而后将war包放入线上tomcat启动

clipboard.png

注:配置文件中的端口号最好与tomcat保持一致(默认优先tomcat配置),不然容易形成混乱架构

架构师Q群:618578034eclipse

spring cloud社区群(需加微信拉您进入)maven

clipboard.png

微信公众号:java架构师修行ide

本公众号将要使用一年的时间,按照JAVA高级软件架构师实战培训的路线发布一期完整的架构文章,难度由浅入深,适合有必定开发基础想转架构和正在作初级架构开发的人员学习,欢迎关注spring-boot

clipboard.png

相关文章
相关标签/搜索