SpringBoot31-springboot开发部署与测试-开发热部署和常规部署

来源:互联网 发布:b碗动作数据 编辑:程序博客网 时间:2024/06/05 05:21

一,开发的热部署

1,模板热部署

     在spring boot里,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在applicaiotn.properties中关闭模板引擎的缓存,例如:

Thymeleaf的配置:

spring.thymeleaf.cache=false


FreeMarker的配置:

spring.freemarker.cache=false


Groovy的配置:

spring.groovy.template.cache=false


Velocity的配置:

spring.velocity.cache=false


2,spring loaded

     spring loaded可实现修改类文件的热部署,具体使用可以网上查下资料


3,JRebel

    JRebel是java开发热部署的最佳工具,其对spring boot也提供了极佳的支持,JRebel为收费软件,可试用一段时间。


4,spring-boot-devtools

    在spring boot项目中添加spring-boot-devtools依赖即可实现页面和代码的热部署。

    注意:使用这个依赖包,需要编译器的支持,比如IDEA需要进行编辑器的配置后,才能配合这个包进行热部署。使用其他编辑器,如果引入了包不能进行热部署,查看下资料是否需要编辑器的支持。


二,常规部署

1,jar形式

    1)打包

      若我们在新建spring boot项目的时候,选择打包方式(packaging)是jar,则我们只需要用:

      mvn package

     or

     mvn clean install -Dmaven.test.skip=true

 

2,运行

    可直接使用下面命令运行:

    java -jar xx.jar



3,注册为Linux的服务

      Linux下运行的软件我们通常把它注册为服务,这样我们就可以通过命令开启,关闭以及保持开机启动等功能。

     若想使用此项功能,我们需要将代码中关于spring-boot-maven-plugin的配置修改为:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><executable>true</executable></configuration></plugin></plugins></build>


    然后使用mvn package打包。

    主流的linux大多数使用init.d或systemd来注册服务。

    1)基于Linux的init.d部署

     注册服务,在cenos6.6的终端执行:

    sudo ln -s /var/xx/xxx.jar   /etc/init.d/ch10

    其中ch10就是我们的服务名。

    启动服务:

   service ch10 start

   停止服务:

   service ch10 stop

   服务状态:

   service ch10 status

   开机启动:

   chkconfig ch10 on


   项目日志存放于/var/log/ch10.log下,可用cat或tail等命令查看

   比如:tail -f ch10.log 

    cat  ch10.log

 

  2)基于Linux的Systemd部署

     在/etc/systemd/system/目录下新建ch10.service,填入下面的内容:

    Description=ch10

    After=syslog.target

   

   [Service]

   ExecStart= /usr/bin/java -jar /var/xx/xx.jar

   [Install]

   WantedBy=multi-user.target


   注意:在实际使用中修改Description和ExecStart后面的内容。

   启动服务:

   systemctl start ch10

   停止服务:

   systemctl stop ch10

    服务状态:

    systemctl status ch10

    开机启动:

   systemctl enable ch10  or systemctl enable ch10.service

   

   项目日志:

   journalctl -u ch10

  or journalctl -u ch10.service


4,war形式

     1)打包方式为war时

     新建spring boot项目的时候选择打包的方式为war形式,或者在pom.xml里面进行配置

    比如:<packaging>war</packaging>

    2)打包为jar包时

      新建spring boot项目的时候选择打包的方式为jar形式,或者在pom.xml里面进行配置

       <packaging>jar</packaging>



原创粉丝点击