热部署笔记

2018-12-14  本文已影响0人  喽喽喽被使用

1.热部署和热加载的区别:

    部署:    就是将整个应用重新启动

    加载:    只替换更改的class文件,重新加载class(原理:容器启动时候,后台启动一条线程,定时检测文件的时间戳变化,变化的就重新载入)

    都是基于Java的类加载器实现的;

2.热部署:

    1).    直接将项目web文件夹放在Tomcat的webapps里(tomcat自带的热部署方式)

    2).    在tomcat/conf/server.xml文件中的<host><host/>添加<context/>标签

            <Context debug="0" docBase="D:/Imooc/web" path="/**" privileged="true" reloadable= "true"/>

            docBase-->指定该项目路径,META-INF、WEB-INF那一层复制进去

            path-->虚拟路径

    3).    在%tomcat_home%/conf/Catalina/localhost中添加一个**.xml文件(文件名为项目名,即path名)

            <context docBase="D:/Imooc/web" reloadable="true"/>

3.自己实现java热加载

            写的东西没起作用(IDEA默认不支持热部署),代码就不粘了,以后搞明白了再写;

4.Springboot热部署实现<IDEA不支持,Eclipse可以,呵呵,都用springboot了,为什么还要用Eclipse>

            1).SpringLoaded实现

                ①    Maven启动方式

                        打开cmd,在项目目录下面输入命令    mvn spring-boot:run

                        <注:需要先配置好maven环境变量>

            ②    run as - java application

                        下载springloaded-1.2.6.RELEASE.jar

                        配置启动参数<不同工具地方不一样>    VM arguments:    -javaagent:**/springloaded-1.2.6.RELEASE.jar -noverify    

                        启动即可;

            2).    spring-boot-devtools热部署实现

                        pom.xml直接添加依赖

                        直接启动项目即可

5.Spring Boot项目发布方式

        1).    jar包

打包之后,直接命令启动 java -jar ****.jar

        2).    war包,发布到Tomcat

             ①   修改打包方式为war:

               ②    引入tomcat环境依赖

                ③    启动类继承SpringBootServletInitializer,并重写configure方法

            

                ④    项目打包之后,发布到tomcat的webapps目录下,tomcat解压后得到的文件夹的名称,就是服务路径名(应该可以修改)

<第一篇博客写完了,有什么疑问或错误,欢迎指正,我会及时给与回复>

上一篇 下一篇

猜你喜欢

热点阅读