1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Spring Boot LiveReload

Spring Boot LiveReload

时间:2020-06-12 18:51:18

相关推荐

Spring Boot  LiveReload

20.2.4禁用重启

如果您不想使用重新启动功能,可以使用该spring.devtools.restart.enabled属性将其禁用。在大多数情况下,您可以在您的设置中设置此属性application.properties(这样做仍会初始化重新启动的类加载器,但它不会监视文件更改)。

如果需要完全禁用重新启动支持(例如,因为它不能与特定库一起使用),则需要在调用之前将spring.devtools.restart.enabledSystem属性设置为,如以下示例所示:falseSpringApplication.run(…​)

public static void main(String[] args) {System.setProperty("spring.devtools.restart.enabled", "false");SpringApplication.run(MyApp.class, args);}

20.2.5使用触发文件

如果使用不断编译已更改文件的IDE,则可能更喜欢仅在特定时间触发重新启动。为此,您可以使用“触发器文件”,这是一个特殊文件,当您想要实际触发重新启动检查时必须对其进行修改。更改文件只会触发检查,只有在Devtools检测到必须执行某些操作时才会重新启动。触发器文件可以手动更新,也可以使用IDE插件更新。

要使用触发器文件,请将该spring.devtools.restart.trigger-file属性设置为触发器文件的路径。

20.2.6自定义重启类加载器

如前面在Restart vs Reload部分中所述,使用两个类加载器实现了重启功能。对于大多数应用程序,此方法运行良好。但是,它有时会导致类加载问题。

默认情况下,IDE中的任何打开项目都使用“restart”类加载器加载,并且任何常规.jar文件都使用“base”类加载器加载。如果您处理多模块项目,并且并非每个模块都导入到IDE中,则可能需要自定义内容。为此,您可以创建一个META-INF/spring-devtools.properties文件。

spring-devtools.properties文件可以包含前缀为restart.exclude和的属性restart.include。该include元素是应该被拉高到“重启”的类加载器的项目,以及exclude要素是应该向下推入“基地”类加载器的项目。该属性的值是应用于类路径的正则表达式模式,如以下示例所示:

panycommonlibs=/mycorp-common-[\\w-]+\.jarrestart.include.projectcommon=/mycorp-myproj-[\\w-]+\.jar

20.2.7已知限制

重新启动功能不适用于使用标准反序列化的对象ObjectInputStream。如果你需要反序列化的数据,你可能需要使用Spring的ConfigurableObjectInputStream结合Thread.currentThread().getContextClassLoader()

不幸的是,几个第三方库反序列化而没有考虑上下文类加载器。如果您发现此类问题,则需要向原始作者请求修复。

20.3 LiveReload

spring-boot-devtools模块包括一个嵌入式LiveReload服务器,可用于在更改资源时触发浏览器刷新。LiveReload浏览器扩展程序可从免费用于Chrome,Firefox和Safari。

如果您不想在应用程序运行时启动LiveReload服务器,则可以将spring.devtools.livereload.enabled属性设置为false

20.4全局设置

您可以通过添加一个文件名为配置全局devtools设置.spring-boot-devtools.properties你的$HOME文件夹(注意:文件名开头“”)。添加到此文件的任何属性都适用于计算机上使用devtools的所有Spring Boot应用程序。例如,要将restart配置为始终使用触发器文件,您需要添加以下属性:

〜/ .spring引导-devtools.properties。

spring.devtools.reload.trigger-file=.reloadtrigger

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。