问题标签 [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.
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)?
maven - 使用 spring devtools 时会忽略断点和 maven 选项
我正在尝试为我的项目使用 spring devtools。当我添加 devtools 依赖断点停止工作并且 maven 选项被忽略。我正在使用 Netbeans。我在 pom.xml 中添加了依赖项
这是用于调试的 netbeans 操作:
断点和 maven 选项 (MAVEN_OPTS) 在没有 devtools 依赖的情况下工作正常。添加 devtools 依赖项会导致“-Dflyway.enabled=false”选项和断点被忽略。Netbeans生成的所有参数的maven命令都是一样的,我可以在日志输出中看到。我还需要为 devtools 设置什么吗?
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 文件:
有任何想法吗?
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 服务器启动。
纠正我如果我错了。
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 吗?
谢谢!
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”的等待时间。
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
文件?
附言
就我而言,最好从重启类加载器中排除所有内容并创建一个支持热重载的模块的小白名单。
java - 从 spring-boot-devtools 中的重新启动类加载器中排除具体的 java 包
问题:我有一个复杂的应用程序,目前在 Spring Boot 上运行。启动时间大约是 60 秒,所以我想使用 Spring Boot Devtools 来减少重启时间,但使用默认设置它给了我几乎相同的 60 秒。排除模块并没有多大帮助,即使只有 2 或 3 个我最常使用的模块,“热”类加载器也会重新启动大约 40 秒。我认为这与繁重的数据库和缓存初始化逻辑有关,很难转移到单独的模块中。
问题:是否可以从重启类加载器中排除专用包?
我想做类似的事情:
但它不起作用,因为 Spring Boot Devtools 只检查完整的“类”文件夹,在这种情况下/modules/mainmodule/target/classes/