问题标签 [spring-boot-devtools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1237 浏览

java - spring-boot-devtools 禁用调试,不能命中断点

我在 spring-boot 中使用 devtools。

我在调试模式下运行,但我无法命中任何断点,断点中缺少 v,表明类尚未加载。如果我从 POM 中删除 devtools 依赖项,则断点开始命中。有没有办法我可以使用 devtools 并打断点?

这就是我在调试模式下运行它的方式: 在此处输入图像描述

在这里使用调试模式。

0 投票
0 回答
454 浏览

spring-boot - 在测试中忽略 .spring-boot-devtools.properties

Spring Boot devtools 允许您通过将文件.spring-boot-devtools.properties放入主目录来定义应用程序源之外的全局配置,该文件优先于捆绑配置,根据:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

但是,此文件在运行单元测试时也适用,因此如果您的测试依赖于某些配置,无论是在 bundled 中定义的默认值application.properties还是在定义的测试特定属性中@TestPropertySource,它们仍然会被全局值覆盖并且您的构建中断。

是否有一些合理的方法可以.spring-boot-devtools.properties完全忽略或从测试类路径中排除 devtools(我们正在使用 Gradle)?

0 投票
1 回答
244 浏览

maven - 使用 spring devtools 时会忽略断点和 maven 选项

我正在尝试为我的项目使用 spring devtools。当我添加 devtools 依赖断点停止工作并且 maven 选项被忽略。我正在使用 Netbeans。我在 pom.xml 中添加了依赖项

这是用于调试的 netbeans 操作:

断点和 maven 选项 (MAVEN_OPTS) 在没有 devtools 依赖的情况下工作正常。添加 devtools 依赖项会导致“-Dflyway.enabled=false”选项和断点被忽略。Netbeans生成的所有参数的maven命令都是一样的,我可以在日志输出中看到。我还需要为 devtools 设置什么吗?

0 投票
1 回答
829 浏览

spring-boot - Spring Boot 开发工具未正确检测 jar 依赖项的自动重启

这个让我摸不着头脑。

我有一个 Spring Boot 1.5.12 Web 应用程序(带有 maven 项目),它的依赖项是另一个 Spring Boot 1.5.12 JAR 文件(作为 maven 项目)。我希望 Web 应用程序在重建 JAR 文件时自动重启。但是,即使我似乎已正确配置了所有内容,但 Web 应用程序并未正确重新启动。

我正在使用命令行 mvn 命令。

spring-devtools.properties在 Web 应用程序的文件中为 JAR 文件指定了正确的名称:

restart.include.icamp-shared=icamp-shared-1.0-SNAPSHOT.jar

当我启动 Web 应用程序时,我在日志中看到以下消息:

依赖 JAR 的文件 URL 是正确的 - 它位于我的 Maven 存储库中。

我启动应用程序,并重新编译依赖的 jar 文件 - 未检测到更改。当我更改项目中的类并重建项目时,会正确检测到更改。这一切都来自使用 mvn 命令的命令行。

顺便说一句,它也没有检测到对属性文件中列出的任何其他 JAR 的任何更改。

我的 POM 中有以下内容:

这是我完整的 spring-devtools.properties 文件:

有任何想法吗?

0 投票
1 回答
2382 浏览

spring-boot - 配置 spring-devtools.properties 时 Spring Boot devtools Livereload 服务器未启动

我在本地环境中的eclipse上的嵌入式tomcat服务器上运行spring boot应用程序,并启用了spring dev工具。而且我还在应用程序中配置了spring web flow。以下是版本详细信息。

开发工具的 pom 配置为

我在资源下的“application.properties”中进行 livereload 和重新启动的 devtools 配置是

设置了上述属性后,livereload 和自动重启工作没有任何问题。但是 spring-webflow 相关功能在应用程序中不起作用。

由于它是一个已知问题,即 spring-dev-tools 和 spring-web-flow 不能很好地发挥作用,我不得不将此属性作为解决方法修复在 /resources/META-INF 下的“spring-devtools.properties”文件中如下图所示。

此属性修复了 spring-web-flow 问题,但 livereload 服务器没有启动。服务器控制台日志也没有显示它已经在某某端口上启动了 livereload 服务器。

我无法确定导致此问题的原因。

任何人都可以帮忙吗?

更新: 我似乎无法完成这项工作。我认为上面提到的解决方法是在重启类加载器中包含开发工具类,从而阻止 livereload 服务器启动。

纠正我如果我错了。

0 投票
1 回答
415 浏览

spring - 热插拔不适用于 Intellij 和 spring-boot-starter-web 的 Spring Boot

我的 spring boot 微服务使用 spring-boot-starter-web,我正在尝试在 intellij 中启用热交换。我尝试添加此依赖项:

然后在 Intellij I 中:

在编译器设置中选中“自动构建项目”并选中 compiler.automake.allow.when.app.running 框并重新启动 Intellij

我运行了我的微服务,然后更改了一个控制器文件,但什么也没发生……有什么想法吗?是 b/c 我使用的是 spring-boot-starter-web 并因此嵌入了 Tomcat 吗?

谢谢!

0 投票
1 回答
1757 浏览

java - Spring Boot Devtools如何在独立模块中重新加载Maven多个依赖模块?

我有一个具有这种结构的多个模块 Maven:

这些文件夹的简单 pom.xml 文件:

  • 应用父/pom.xml
  • 应用程序库/pom.xml
  • 应用程序主/pom.xml

使用 NetBeans 8.2 和 Spring Boot 1.5.2 版,我使用 Spring Devtools 自动重新加载更改的 Java 类文件(约几秒)而不是冷重启(> 10 秒)。

在 app-main 文件夹上,我运行以下命令来设置 WebApplication,它允许 NetBeans 将调试器附加到端口 5005:

另外,在 app-main/src/main/resources 的 application.properties 中,我添加了这个 watch 以允许 Spring Devtools 检测来自 app-library 的更改

因此,每当我更改 app-main 或 app-library 中的一个 java 文件时,我可以从终端看到 Spring DevTool 会在几秒钟内重新加载。

问题是app-library的方法发生了一些基本的变化,Spring DevTools可以检测到文件已经保存并重新加载,但是从调用该方法的app-main中,输出仍然是相同的,例如:

有了这个问题,我不能只在 app-library 中进行更改,并期望这些更改将应用​​于 app-main。相反,我必须停止 Maven 命令行,然后在 NetBeans 中单击 app-main 并选择Build with dependencies,然后再次运行 Maven 命令行以冷启动设置此 Web 应用程序(总共:~1 分钟)。

在我将文件保存在 app-library 中后,我可以做些什么来让 Spring DevTools 可以立即将 app-library 中的更改应用到 app-main?这将有助于减少来自 NetBeans “Build with Dependencies”的等待时间。

0 投票
0 回答
277 浏览

spring-boot - 静态文件更改后 Spring Boot 重新启动

我有一个带有静态网站(只有 css、js、html)的 Spring Boot 项目。我在项目中添加了 Spring Boot Dev Tools。当我更改一些静态文件时,然后单击“运行”>“重新加载更改的类”,Spring Boot(Tomcat)重新启动。

在此处输入图像描述

这发生在 Windows 中。但是,Mac 中相同的项目表现良好 - 它只是快速加载静态文件。我什至将设置导出/导入到 IntelliJ,但问题仍然存在。任何线索为什么会发生这种情况?

0 投票
1 回答
1094 浏览

spring - Spring Boot Devtools:从重启类加载器中排除多个模块

从文档Customizing the Restart Classloader中,您可以添加 devtools 依赖项并使用META-INF/spring-devtools.properties.

问题

我来到了多模块 Maven 项目。大约50个模块。不要问我为什么,我也不知道。据我了解,module49.jar要从重新启动类加载器中排除,我必须创建module49/src/main/resources/META-INF/spring-devtools.properties文件。要排除 47 个模块的 jar,我必须创建 47 个spring-devtools.properties文件,对吗?

问题

我知道,50 个 Maven 模块是完全错误的方法,但是有没有办法创建一个spring-devtools.properties文件?

附言

就我而言,最好从重启类加载器中排除所有内容并创建一个支持热重载的模块的小白名单。

0 投票
0 回答
440 浏览

java - 从 spring-boot-devtools 中的重新启动类加载器中排除具体的 java 包

问题:我有一个复杂的应用程序,目前在 Spring Boot 上运行。启动时间大约是 60 秒,所以我想使用 Spring Boot Devtools 来减少重启时间,但使用默认设置它给了我几乎相同的 60 秒。排除模块并没有多大帮助,即使只有 2 或 3 个我最常使用的模块,“热”类加载器也会重新启动大约 40 秒。我认为这与繁重的数据库和缓存初始化逻辑有关,很难转移到单独的模块中。

问题:是否可以从重启类加载器中排除专用包?

我想做类似的事情:

但它不起作用,因为 Spring Boot Devtools 只检查完整的“类”文件夹,在这种情况下/modules/mainmodule/target/classes/