当前位置: 首页 > 知识库问答 >
问题:

Spring boot devtools和相关Spring项目

景志
2023-03-14

我有一个大规模的Spring Boot应用程序,它由几个项目组成,项目之间有依赖关系。其中两个项目是“Web应用程序”,可以以通常的方式运行。两者都包括Spring的devtools用于重新启动/实时重新加载功能。除了devtools特性之外,所有的构建/运行都很好。

我们遇到的问题是,一旦其中一个应用程序启动,整个应用程序目录就成为重新加载触发器的一部分--资源、模板、CSS、gradle.build……从子项目根部向下触摸任何文件都会触发重新加载。至少可以说,这使得前端开发变得乏味。

DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, ...]
org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading :
file:/C:/.../project1/app/bin/, 
file:/C:/.../project1/core/bin/,
file:/C:/.../commons/bin/,
file:/C:/.../project1/app/]

似乎是这最后一项导致扫描整个Project1/app目录,以便在任何更改时重新启动。

使用devtools的“标准”初学者项目在同一行中显示了这一点:

DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/C:/.../auto-restart/bin/]

如果我将一个依赖项添加到其他项目中,它将如下所示:

DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/C:/.../auto-restart/bin/, file:/C:/.../commons/bin/]

有趣的是,包括spring.devtools.restart.trigger-file属性确实停止了对所有内容的扫描...但是它违背了后端开发的目的。

共有1个答案

葛成济
2023-03-14

根据这个问题,我最好的猜测是在application.property或application.yml中检查以下配置(基于您的项目设置)

如果您使用application.yml,请查找:-

spring:
  devtools:
    restart:
     additional-paths:
        - .

如果您使用application.properties,请查找:-

spring.devtools.restart.additional-paths = .

这里有一篇文章,您可以参考更多细节:-SpringBoot Devtools

 类似资料:
  • Laradock Related Projects Docker Stacks: A GUI for managing Laradock. (by Subhadip Naskar) Laradock CLI: A CLI for managing Laradock. (by Lorin Lee) Laradock CLI: A CLI for managing Laradock. (by Harl

  • 我有以下型号: 类类别(models.Model):名称=模型。字符域(最大长度=255) 类元素(models.Model): 课程主题(models.Model): 元素=模型。ForeignKey(元素)name=模型。夏菲尔德(max_length=255) 我基本上需要在category id=1中添加新主题,并只获得属于类别1的élément列表 我在category id=1中创建了

  • 已迁移至 官方的 awesome mobx

  • 我想知道交易和锁之间的关系。 更具体地说,Spring的< code>@Transactional与Hibernate的LockMode有什么关系。https://docs . JBoss . org/hibernate/ORM/4.0/dev guide/en-US/html/ch05 . html . http://docs . spring . io/auto repo/docs/sprin

  • CatLib.ILRuntime 扩展库赋予了 CatLib 框架可以正常的在 ILRuntime 热更新代码中运行,但是扩展包并没有包含如何将热更新的代码文件加载到ILRuntime.AppDomain 中,这一部分需要您根据项目情况来自行完成。 本文档,简叙了如何使用一种比较优雅的方式来和项目进行关联,并完成代码加载的操作。 除了文档以外,您也可以查看 demo-how-to-use-catl

  • 为了在我的spring boot项目上运行单元测试,我尝试使用JUnit和Mockito,但是很难找到如何在我的gradle项目的build.gradle文件中设置依赖项。下面是build.gradle文件: 现在我得到的错误是“不能解析org.Mockito:mockito-core:3.6.48”,我甚至不知道是否从https://github.com/Mockito/Mockito/rele