- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 spring-boot-starter
用于打开静态套接字进行通信的大型服务器项目。因为每次代码更改后不必总是在 Intellij IDEA
中重新启动服务器(从而退出套接字连接),我正在尝试 HotSwap 更改后的 *.java 代码.
我试过如下,没有成功:
spring-boot-devtools
依赖自动构建项目[yes]
complier.automake.allow.when.app.running [true]
更新类和资源
但是:每当我修改一个类时,我的应用程序都会自动重新启动。当然这也会重新加载类,但我也可以随意触发重启。我没有通过自动重启获得任何好处。
所以我通过 spring.devtools.restart.enabled=false
禁用了重启。但是在服务器重新启动之前,代码交换不起作用。
但是如果不显式重新启动是否有可能呢?
旁注:我不是要在浏览器中热交换网络用户界面。我只想重新加载 Java 代码。
最佳答案
这就是 Spring Boot 开发工具的工作方式,每次更改都需要重新启动,但使用开发工具重新启动要快得多,因为它使用自定义类加载器:
The restart technology provided by Spring Boot works by using two classloaders. Classes that do not change (for example, those from third-party jars) are loaded into a base classloader. Classes that you are actively developing are loaded into a restart classloader. When the application is restarted, the restart classloader is thrown away and a new one is created. This approach means that application restarts are typically much faster than “cold starts”, since the base classloader is already available and populated.
如果您想在不重新启动的情况下热交换代码,那么一种选择是使用 JRebel . Spring Boot 文档声明相同:
If you find that restarts are not quick enough for your applications or you encounter classloading issues, you could consider reloading technologies such as JRebel from ZeroTurnaround.
关于java - 在 Spring-Boot 项目中热到 Intellij 中的 HotSwap 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54556072/
本文整理了Java中org.hotswap.agent.watch.Watcher类的一些代码示例,展示了Watcher类的具体用法。这些代码示例主要来源于Github/Stackoverflow/M
我在 eclipse 和 IntelliJ IDE 中使用了 DCEVM 热插拔技术,这是非常酷的功能。通过在 IDE 中使用 DCEVM,我可以更改源代码,即在运行时添加/删除/编辑方法、类、属性,
我对 GAE 开发还很陌生。只需解决有关设置开发的几个问题。 我目前正在使用 Eclipse 3.7.x、Google Suite Plugin 2.5.2 r37 我找到的相关链接: > http:
有人在生产中使用过带有 DCEVM 和 HotSwap 代理的 JBoss AS 7.1 吗?哪里有教程吗?是否可以通过 HotSwap 代理添加新的包/类,或者只是替换现有的包/类? 很抱歉这个问题
目前我的设置由 vim 和运行 Gradle 任务的单独终端窗口组成。 我想知道是否可以触发 Gradle 守护进程的重新加载/重新编译更改类操作,以便 DCEVM 可以检测到它们并重新加载它们。 最
我想对我的应用程序进行实时测试。为此,我需要在我的测试函数上更改作为 AppDelegate 成员的 CLLocationManager 对象。 如何在不在应用程序目标上添加交换函数的情况下将我的 l
本文整理了Java中org.hotswap.agent.watch.Watcher.addEventListener()方法的一些代码示例,展示了Watcher.addEventListener()的
我正在尝试使用 byte buddy 的 HotSwap 功能。不幸的是我收到了一些错误。我已阅读有关 official website 的文档,而且我知道它仅在程序使用 Java 代理时才有效。我尝
在更改我的代码时,我在尝试使用 DCEVM (8u181) 和 Tomcat (7.0.62.0) 运行 HotswapAgent (1.3.0) 时遇到了以下问题: HOTSWAP AGENT: 1
我正在使用 DCEVM 热插拔代理将 java spring boot 应用程序作为 jar 文件运行。当我更改 jar 文件中的某些类文件时,应用程序不会重新加载这些更改。但是,如果我提取 jar
对于普通的 Java/Swing 应用程序,我目前正在将 ant 构建脚本迁移到 gradle 构建。 虽然我很快就启动并运行了它,但在 IntelliJ IDEA 中调试时不再拾取重新编译类中的更改
我使用以下代码创建了小测试,并尝试执行这些步骤以使用热交换功能。 使用“调试”按钮运行程序 在渲染函数中创建一个断点,以暂停程序。 改变rectangle.width的值 编译程序 让 intelli
我在使用 Intellij IDEA Community Version 的 hotswap 功能时遇到了麻烦。我的是 v 14.1.4。 每次我启动调试并更改 java 代码后,我已经单击重建项目并
这里的教程:http://www.hotswapagent.org/quick-start 说要用: -XXaltjvm=dcevm -javaagent:PATH_TO_AGENT\hotswap-
我将 spring-boot-starter 用于打开静态套接字进行通信的大型服务器项目。因为每次代码更改后不必总是在 Intellij IDEA 中重新启动服务器(从而退出套接字连接),我正在尝试
我有一个在 Spring Tool Suite 中构建的应用程序,并且在前端也使用了 angular。我正在构建我的专家并在 Tomcat 中部署 war 。虽然 Spring 开发工具在从 STS
我的 HotSwap 运行配置只适用于 java 而不是 html。 我在 Tomcat 上运行一个 Wicket 应用程序,我从 mvn tomcat7:run 开始。 在我的运行器配置(运行器选项
我正在使用 Groovy 和 Google App Engine。我正在试用 Intellij,但我无法弄清楚如何让热插拔为 Groovy 类的更改工作。它在 Eclipse 中对我有用。是否需要做一
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我正在使用 IntelliJ IDEA 14 在 Tomcat7 中进行 war 部署(不是爆炸式 war )。我的网络应用程序由两场 war 组成: views.war(Struts 类,JSP)
我是一名优秀的程序员,十分优秀!