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中ArrayList与LinkedList列表结构的源码
这篇文章主要介绍了Java中ArrayList与LinkedList列表结构的源码,文章最后对LinkedList和ArrayList以及Vector的特性有一个对比总结,需要的朋友可以参考下2016-05-05Android应用开发之将SQLite和APK一起打包的方法
这篇文章主要介绍了Android应用开发之将SQLite和APK一起打包的方法,文章时间较早,尽管现在开发环境已大都迁移至Android Studio上,但打包原理依然相同,需要的朋友可以参考下2015-08-08
最新评论