微服务框架中修改前端项目的部署方式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部署   

<name>xx-portal</name>

2、移除内嵌Tomcat ,增加Servlet

      <!-- 移除内嵌Tomcat -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.sprngframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

第二步:修改项目启动类 

   修改启动类继承 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:

到此,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 目录下项目文件就可以。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值