Maven热部署devtools的实现示例

 更新时间:2023年07月27日 15:39:01   作者:time Friend  
本文主要介绍了Maven热部署devtools的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近在搞springboot+maven项目,每次重启很烦人,才想起以前的热部署devtool依赖没添加。

在搭建springboot项目中往controller类加入注解@RestController + @RequestMapping后,我们就可以通过http请求访问结果,可当我修改代码或增加文件后,我想要通过http请求访问最新结果就需要一遍又一遍地在IDEA中重新启动项目,这样才能看到每次操作数据库表后的最新内容;而用devtool依赖就可以实现maven的热部署即不需要再重启项目了。

接着讲解devtools依赖的使用:在你创建的项目的pom文件中加入下面的代码,即增加热部署devtools依赖,增加完成后IDEA会自动下载相应的jar包,之后就可以愉快的使用了,不用繁琐的一次又一次的启动项目,只要每次操作数据库表后刷新访问地址即可看到最新的内容,提升了工作效率也节约了宝贵的时间。

<!--在pom.xml中加入devtool依赖-->
      <!--devtools可以实现页面热部署(即页面修改后会立即生效,这个也可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现)-->
 <!--实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。
 即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启是很快的-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
 <!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
            <optional>true</optional>
        </dependency>

注: 有人说还要增加true 才能正常使用devtools依赖,但是我没有加这个也能正常使用,所以万一只加devtools依赖不起作用,不妨在pom.xml一试,代码如下。

<!-- 用于将应用打成可直接运行的jar(该jar就是用于生产环境中的jar) 值得注意的是,如果没有引用spring-boot-starter-parent做parent, 且采用了上述的第二种方式,这里也要做出相应的改动 -->
   <build>
    <plugins>
       <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
           <configuration>
              <fork>true</fork>
     <!-- 网上说如果没有该项配置,devtools不会起作用,即应用不会restart,但我没添加仍有效 -->
         </configuration>
        </plugin>
      </plugins>
    </build>

然后在IDEA中依次点击File-Settings-Build,Execution,Deployment-Complier,在右边界面找到下图并勾选Build project automatically

并打勾;下一步按住这几个键Ctrl+Shift+Alt+/,选中Registry ,在弹出的提示框中找到compiler.automake.allow.when.app.running如下图所示并打钩,就可以顺利使用了。

到此这篇关于Maven热部署devtools的实现示例的文章就介绍到这了,更多相关Maven热部署devtools内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java程序包不存在的两种解决方法

    Java程序包不存在的两种解决方法

    有时候我们在导入程序之后,系统会给出错误提示:Java:程序包xxxx不存在,本文主要介绍了Java程序包不存在的两种解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • application作用域实现用户登录挤掉之前登录用户代码

    application作用域实现用户登录挤掉之前登录用户代码

    这篇文章主要介绍了application作用域实现用户登录挤掉之前登录用户代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot实现接口的各种参数校验的示例

    SpringBoot实现接口的各种参数校验的示例

    本文主要介绍了SpringBoot实现接口的各种参数校验的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Mybatis使用@one和@Many实现一对一及一对多关联查询

    Mybatis使用@one和@Many实现一对一及一对多关联查询

    本文主要介绍了Mybatis使用@one和@Many实现一对一及一对多关联查询,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 详解基于MVC的数据查询模块进行模糊查询

    详解基于MVC的数据查询模块进行模糊查询

    这篇文章主要介绍了Java基于MVC的数据查询模块进行模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Feign远程调用丢失请求头问题

    Feign远程调用丢失请求头问题

    本文介绍了在服务端项目中如何解决资源访问限制问题,首先介绍了问题的产生,然后详细解析了源码,最后提出了解决方案,解决方案包括同步和异步两种,同步时直接向Spring容器注入RequestInterceptor拦截器
    2024-09-09
  • Java面向对象程序设计多态性示例

    Java面向对象程序设计多态性示例

    这篇文章主要介绍了Java面向对象程序设计多态性,结合实例形式分析了java多态性的概念、原理、定义与使用方法及相关注意事项,需要的朋友可以参考下
    2018-03-03
  • SpringBoot静态视频实时播放的实现代码

    SpringBoot静态视频实时播放的实现代码

    这篇文章主要介绍了SpringBoot静态视频实时播放的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 如何使用java.security.SecureRandom安全生成随机数和随机字符串工具类

    如何使用java.security.SecureRandom安全生成随机数和随机字符串工具类

    这篇文章主要给大家介绍了关于如何使用java.security.SecureRandom安全生成随机数和随机字符串工具类的相关资料,SecureRandom扩展了Random类,并通过在java 8中添加的新方法得到了丰富,需要的朋友可以参考下
    2024-05-05
  • idea pom导入net.sf.json的jar包失败的解决方案

    idea pom导入net.sf.json的jar包失败的解决方案

    JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,这篇文章主要介绍了idea pom导入net.sf.json的jar包失败的解决方案,感兴趣的朋友一起看看吧
    2023-11-11

最新评论