Maven的热部署devtools

ゝ一世哀愁。 2024-04-17 15:51 130阅读 0赞

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

  1. 在搭建springboot项目中往controller类加入注解@RestController + @RequestMapping后,我们就可以通过http请求访问结果,可当我修改代码或增加文件后,我想要通过http请求访问最新结果就需要一遍又一遍地在IDEA中重新启动项目,这样才能看到每次操作数据库表后的最新内容;而用devtool依赖就可以实现maven的热部署即不需要再重启项目了。
  2. 接着讲解devtools依赖的使用:在你创建的项目的pom文件中加入下面的代码,即增加热部署devtools依赖,增加完成后IDEA会自动下载相应的jar包,之后就可以愉快的使用了,不用繁琐的一次又一次的启动项目,只要每次操作数据库表后刷新访问地址即可看到最新的内容,提升了工作效率也节约了宝贵的时间。
  3. <!--在pom.xml中加入devtool依赖-->
  4. <!--devtools可以实现页面热部署(即页面修改后会立即生效,这个也可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现)-->
  5. <!--实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。
  6. devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启是很快的-->
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-devtools</artifactId>
  10. <!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
  11. <optional>true</optional>
  12. </dependency>

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

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,130人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java 部署Devtools

    热部署 热部署:代码经过改动能自动部署启动,不需要程序员手动关闭重启就叫热部署 开启热部署 添加依赖到项目里 ![在这里插入图片描述][d874926e96

    相关 spring devtools部署

    springboot devtools 的主要作用是热部署。当我们在开发过程中,不停的重启项目总是很耗费时间。这对于我们程序猿来说,实在是太恶心了。有了devtools,我们就