微服务框架中修改前端项目的部署方式Jar改成war+tomcat,给前端开发随时在服务器随时修改、调试

场景:现有一个项目微服务框架,其中包含一个注册中心: eureka-server.jar ,一个后台服务: xx-server.jar , 一个前段服务: xx-portal.jar

问题:一个前端找到我,说:他是做前端,他不想在他电脑运行源码(idea运行整个SpringCoud),而服务器上的前端启动的是一个Jar,他的H5页面修改完无法在服务上调试。我说,那你使用Fiddler可以本机调试呀, 但是她又说:PC端的可以,可是移动端的问题怎么使用Fiddler调试?我想了想,也是,于是就开始帮她将前端的SpringBoot服务修改成War+Tomcat部署了,这样她每次就可以直接上去替换Tomcat中静态页面就可以了。

第一步:修改pom.xml 

1、修改打包方式为 war部署   

xx-portal

2、移除内嵌Tomcat ,增加Servlet

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

        
            javax.servlet
            javax.servlet-api
            provided
        

第二步:修改项目启动类 

   修改启动类继承 SpringBootServletInitializer , 然后重写 里面 configure方法 修改如下:

@EnableZuulProxy
@EnableEurekaClient
@SpringBootApplication
public class xxPortalApplication extends SpringBootServletInitializer {

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(xxPortalApplication.class);
    }
}

第三步:打包

    使用Idea自带的Maven命令 ,先clear 再package:

微服务框架中修改前端项目的部署方式Jar改成war+tomcat,给前端开发随时在服务器随时修改、调试_第1张图片

到此,War做好了

 第四步: 部署服务器

1、 部署Tomcat

其他服务不变:注册中心 eureka-server.jar ,后台服务: xx-server.jar部署的方式不变,然后停止该前端Jar。在当前同目录上传一个 Tomcat容器,然后将../tomcat/conf 目录下server.xml中tomcat 端口改为当前前端项目xx-portal.jar 服务的端口。

2、部署xx-portal.war

将 xx-portal.war 上传到  ../tomcat/webapps/目录下。这里需要注意:

1)  如果xx-portal.jar 中设置  server.servlet.context-path=xx ,那你的访问路径是 http://xxx.xxx.xxx:port/xx/index.html,这里你需要将你的项目名称改为 xx.war, tomcat启动成功后会生成一个名称为 xx 的文件夹,该文件夹里面就是你的项目。

2)如果xx-portal.jar 没有设置  server.servlet.context-path,那你的访问路径是 http://xxx.xxx.xxx:port/index.html , 是没有项目根路径的,这时你需要 将webapps下面的 ROOT文件夹删除,将你的 xx-portal.war 改为 ROOT.war,tomcat启动成功会重新生成一个 ROOT文件夹,里面就是你的项目。

到此,Jar改为War部署就完成了,Tomcat启动成功后,直接在浏览器中访问地址就可以了。可以很自豪的给同事说:部署好了,你直接替换 ../tomcat/webapps 目录下项目文件就可以。

 

你可能感兴趣的:(Java/JavaWeb,架构,Jar改成War部署,SpringBoot,War)